12 #ifndef ROOT_TEvePathMark
13 #define ROOT_TEvePathMark
21 template <
typename TT>
25 enum EType_e { kReference, kDaughter, kDecay, kCluster2D, kLineSegment };
33 TEvePathMarkT(EType_e type=kReference) :
34 fType(type), fV(), fP(), fE(), fTime(0) {}
36 TEvePathMarkT(EType_e type,
const TEveVectorT<TT>& v, TT time=0) :
37 fType(type), fV(v), fP(), fE(), fTime(time) {}
39 TEvePathMarkT(EType_e type,
const TEveVectorT<TT>& v,
const TEveVectorT<TT>& p, TT time=0) :
40 fType(type), fV(v), fP(p), fE(), fTime(time) {}
42 TEvePathMarkT(EType_e type,
const TEveVectorT<TT>& v,
const TEveVectorT<TT>& p,
const TEveVectorT<TT>& e, TT time=0) :
43 fType(type), fV(v), fP(p), fE(e), fTime(time) {}
45 template <
typename OO>
46 TEvePathMarkT(
const TEvePathMarkT<OO>& pm) :
47 fType((EType_e)pm.fType), fV(pm.fV), fP(pm.fP), fE(pm.fE), fTime(pm.fTime) {}
49 const char* TypeName();
51 ClassDefNV(TEvePathMarkT, 1);
54 typedef TEvePathMarkT<Float_t> TEvePathMark;
55 typedef TEvePathMarkT<Float_t> TEvePathMarkF;
56 typedef TEvePathMarkT<Double_t> TEvePathMarkD;