]>
Commit | Line | Data |
---|---|---|
16bf9884 | 1 | #ifndef ALITRDMCTRACK_H |
2 | #define ALITRDMCTRACK_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
0a29d0f1 | 7 | /////////////////////////////////////////////////////////////////////////////// |
8 | // // | |
9 | // TRD MC track // | |
10 | // Used for efficiency estimates and matching of reconstructed tracks // | |
11 | // to MC particles // | |
12 | // // | |
13 | /////////////////////////////////////////////////////////////////////////////// | |
14 | ||
16bf9884 | 15 | #include <TObject.h> |
16 | ||
17 | class AliTRDgeometry; | |
18 | ||
19 | class AliTRDmcTrack : public TObject { | |
20 | ||
21 | // Represents TRD related info about generated track | |
22 | ||
23 | public: | |
24 | ||
25 | AliTRDmcTrack(); | |
26 | AliTRDmcTrack(Int_t label, Bool_t primary, Float_t mass, Int_t charge, Int_t pdg); | |
27 | ||
28 | void SetPin(Int_t plane, Double_t px, Double_t py, Double_t pz) | |
0a29d0f1 | 29 | { fPin[plane][0] = px; fPin[plane][1] = py; fPin[plane][2] = pz; } |
16bf9884 | 30 | |
31 | void SetPout(Int_t plane, Double_t px, Double_t py, Double_t pz) | |
0a29d0f1 | 32 | { fPout[plane][0] = px; fPout[plane][1] = py; fPout[plane][2] = pz; } |
16bf9884 | 33 | |
34 | void GetPxPyPz(Double_t &px, Double_t &py, Double_t &pz, Int_t opt = 0) const; | |
35 | void GetPlanePxPyPz(Double_t &px, Double_t &py, Double_t &pz | |
36 | ,Int_t plane, Int_t opt = 0) const; | |
37 | ||
38 | void Update(Int_t index) { if (fN < 199) fIndex[fN++] = index; } | |
39 | ||
40 | Int_t GetTrackIndex() const { return fLab; } | |
41 | Bool_t IsPrimary() const { return fPrimary; } | |
42 | Float_t GetMass() const { return fMass; } | |
43 | Int_t GetCharge() const { return fCharge; } | |
44 | Int_t GetPdgCode() const { return fPDG; } | |
45 | ||
46 | Int_t GetNumberOfClusters() const { return fN; } | |
47 | Int_t GetClusterIndex(Int_t i) const { return fIndex[i]; } | |
48 | ||
49 | protected: | |
50 | ||
51 | Int_t fLab; // Track index | |
52 | Bool_t fPrimary; // TRUE if it's a primary particle | |
53 | Float_t fMass; // Mass of the MC track | |
54 | Int_t fCharge; // Charge of the MC track | |
55 | Int_t fPDG; // PDG code of the MC track | |
56 | ||
57 | Int_t fN; // Number of TRD clusters associated with the track | |
58 | Int_t fIndex[200]; // Indices of these clusters | |
59 | ||
0a29d0f1 | 60 | Double_t fPin[6][3]; // Px,Py,Pz at the entrance of each TRD plane |
61 | Double_t fPout[6][3]; // Px,Py,Pz at the exit of each TRD plane | |
16bf9884 | 62 | |
63 | ClassDef(AliTRDmcTrack,1) // TRD MC track | |
64 | ||
65 | }; | |
66 | ||
67 | #endif |