12 #ifndef ROOT7_REvePathMark
13 #define ROOT7_REvePathMark
18 namespace Experimental {
24 template <
typename TT>
27 enum EType_e { kReference, kDaughter, kDecay, kCluster2D, kLineSegment };
35 REvePathMarkT(EType_e type = kReference) : fType(type), fV(), fP(), fE(), fTime(0) {}
37 REvePathMarkT(EType_e type,
const REveVectorT<TT> &v, TT time = 0) : fType(type), fV(v), fP(), fE(), fTime(time) {}
39 REvePathMarkT(EType_e type,
const REveVectorT<TT> &v,
const REveVectorT<TT> &p, TT time = 0)
40 : fType(type), fV(v), fP(p), fE(), fTime(time)
44 REvePathMarkT(EType_e type,
const REveVectorT<TT> &v,
const REveVectorT<TT> &p,
const REveVectorT<TT> &e,
46 : fType(type), fV(v), fP(p), fE(e), fTime(time)
50 template <
typename OO>
51 REvePathMarkT(
const REvePathMarkT<OO> &pm)
52 : fType((EType_e)pm.fType), fV(pm.fV), fP(pm.fP), fE(pm.fE), fTime(pm.fTime)
56 const char *TypeName();
59 typedef REvePathMarkT<Float_t> REvePathMark;
60 typedef REvePathMarkT<Float_t> REvePathMarkF;
61 typedef REvePathMarkT<Double_t> REvePathMarkD;