12 #ifndef ROOT_TEveVSDStructs
13 #define ROOT_TEveVSDStructs
42 class TEveMCTrack :
public TParticle
55 TEveMCTrack() : fLabel(-1), fIndex(-1), fEvaLabel(-1),
56 fDecayed(kFALSE), fTDecay(0), fVDecay(), fPDecay() {}
57 virtual ~TEveMCTrack() {}
59 TEveMCTrack& operator=(
const TParticle& p)
60 { *((TParticle*)
this) = p;
return *
this; }
62 void ResetPdgCode() { fPdgCode = 0; }
64 ClassDef(TEveMCTrack, 1);
79 class TEveHit :
public TObject
90 TEveHit() : fDetId(0), fSubdetId(0), fLabel(0), fEvaLabel(0), fV() {}
105 class TEveCluster :
public TObject
118 TEveCluster() : fDetId(0), fSubdetId(0), fV() { fLabel[0] = fLabel[1] = fLabel[2] = 0; }
119 virtual ~TEveCluster() {}
121 ClassDef(TEveCluster, 1);
128 template <
typename TT>
129 class TEveRecTrackT :
public TObject
146 TEveRecTrackT() : fLabel(-1), fIndex(-1), fStatus(0), fSign(0), fV(), fP(), fBeta(0), fDcaXY(0), fDcaZ(0), fPVX(0), fPVY(0), fPVZ(0) {}
147 virtual ~TEveRecTrackT() {}
149 Float_t Pt() {
return fP.Perp(); }
151 ClassDef(TEveRecTrackT, 2);
154 typedef TEveRecTrackT<Float_t> TEveRecTrack;
155 typedef TEveRecTrackT<Float_t> TEveRecTrackF;
156 typedef TEveRecTrackT<Double_t> TEveRecTrackD;
162 class TEveRecKink :
public TObject
169 TEveVector fPDaughter;
170 TEveVector fVDaughter;
171 Double32_t fKinkAngle[3];
180 TEveRecKink() : fVKink(), fPMother(), fVMother(), fPDaughter(), fVDaughter(), fSign(0), fStatus(0)
182 fKinkAngle[0] = fKinkAngle[1] = fKinkAngle[2] = 0;
183 fKinkLabel[0] = fKinkLabel[1] = 0;
184 fKinkIndex[0] = fKinkIndex[1] = 0;
185 fKinkPdg[0] = fKinkPdg[1] = 0;
187 virtual ~TEveRecKink() {}
189 ClassDef(TEveRecKink, 1);
197 class TEveRecV0 :
public TObject
215 TEveRecV0() : fStatus(), fVNeg(), fPNeg(), fVPos(), fPPos(),
216 fVCa(), fV0Birth(), fLabel(0), fPdg(0)
217 { fDLabel[0] = fDLabel[1] = 0; }
218 virtual ~TEveRecV0() {}
220 ClassDef(TEveRecV0, 1);
228 class TEveRecCascade :
public TObject
236 TEveVector fCascadeVCa;
237 TEveVector fCascadeBirth;
244 TEveRecCascade() : fStatus(), fVBac(), fPBac(),
245 fCascadeVCa(), fCascadeBirth(),
246 fLabel(0), fPdg(0), fDLabel(0) {}
247 virtual ~TEveRecCascade() {}
249 ClassDef(TEveRecCascade, 1);
257 class TEveMCRecCrossRef :
public TObject
267 TEveMCRecCrossRef() : fIsRec(false), fHasV0(false), fHasKink(false),
268 fLabel(0), fNHits(0), fNClus(0) {}
269 virtual ~TEveMCRecCrossRef() {}
271 ClassDef(TEveMCRecCrossRef, 1);