]>
Commit | Line | Data |
---|---|---|
5c7ef659 | 1 | #ifndef ALIMCINFO_H |
2 | #define ALIMCINFO_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | ||
7 | ||
8 | ////////////////////////////////////////////////////////////////////////////// | |
9 | // Class AliGenInfo // | |
10 | // collect together MC info for comparison purposes - effieciency studies and so on// // | |
11 | // marian.ivanov@cern.ch // | |
12 | ////////////////////////////////////////////////////////////////////////////// | |
13 | ||
14 | ||
15 | ||
16 | //////////////////////////////////////////////////////////////////////// | |
17 | // | |
18 | // Start of implementation of the class AliTPCdigitRow | |
19 | // | |
20 | //////////////////////////////////////////////////////////////////////// | |
21 | ||
22 | #include <TParticle.h> | |
23 | #include "AliTrackReference.h" | |
24 | ||
25 | class TFile; | |
26 | class AliRunLoader; | |
27 | class AliStack; | |
28 | class AliTPCParam; | |
29 | ||
30 | const Int_t kgRowBytes = 32; | |
31 | ||
32 | class AliTPCdigitRow: public TObject { | |
33 | public: | |
34 | AliTPCdigitRow(); | |
35 | virtual ~AliTPCdigitRow(){;} | |
36 | void SetRow(Int_t row); | |
37 | Bool_t TestRow(Int_t row) const ; | |
38 | AliTPCdigitRow & operator=(const AliTPCdigitRow &digOld); | |
39 | Int_t RowsOn(Int_t upto=8*kgRowBytes) const; | |
40 | Int_t Last() const; | |
41 | Int_t First() const ; | |
42 | void Reset(); | |
43 | ||
44 | private: | |
45 | UChar_t fDig[kgRowBytes]; | |
46 | ClassDef(AliTPCdigitRow,1) // container for digit pattern | |
47 | }; | |
48 | ||
49 | ||
50 | //////////////////////////////////////////////////////////////////////// | |
51 | // | |
52 | // Start of implementation of the class AliMCInfo | |
53 | // | |
54 | //////////////////////////////////////////////////////////////////////// | |
55 | ||
56 | class AliMCInfo: public TObject { | |
57 | friend class AliGenInfoMaker; | |
58 | friend class AliRecInfoMaker; | |
59 | friend class AliESDRecInfo; | |
60 | public: | |
61 | AliMCInfo(); | |
62 | ~AliMCInfo(); | |
63 | AliMCInfo(const AliMCInfo& info); | |
64 | void Update(); | |
65 | Int_t GetEventNr() const {return fEventNr;} | |
66 | const AliTrackReference& GetTrackRef() const {return fTrackRef;} | |
67 | const AliTrackReference& GetTrackRefOut() const {return fTrackRefOut;} | |
68 | const AliTrackReference& GetTRdecay() const {return fTRdecay;} | |
69 | TParticle& GetParticle() {return fParticle;} | |
70 | Float_t TPCBetheBloch(Float_t bg); | |
71 | // | |
72 | Int_t GetPrimPart() const {return fPrimPart;} | |
73 | Float_t GetMass() const {return fMass;} | |
74 | Float_t GetCharge() const {return fCharge;} | |
75 | Int_t GetLabel() const {return fLabel;} | |
76 | ||
77 | Int_t GetMCtracks() const {return fMCtracks;} | |
78 | Int_t GetPdg() const {return fPdg;} | |
79 | const Float_t* GetDecayCoord() const {return fDecayCoord;} | |
80 | const Double_t* GetVDist() const {return fVDist;} | |
81 | ||
82 | Bool_t IsTPCdecay() const {return fTPCdecay;} | |
83 | ||
84 | Int_t GetRowsWithDigitsInn() const {return fRowsWithDigitsInn;} | |
85 | Int_t GetRowsWithDigits() const {return fRowsWithDigits;} | |
86 | Int_t GetRowsTrackLength() const {return fRowsTrackLength;} | |
87 | Float_t GetPrim() const { return fPrim;} | |
88 | ||
89 | AliTPCdigitRow & GetTPCRow() {return fTPCRow;} | |
90 | Int_t GetNTPCRef() const {return fNTPCRef;} | |
91 | Int_t GetNITSRef() const {return fNITSRef;} | |
92 | Int_t GetNTRDRef() const {return fNTRDRef;} | |
93 | Int_t GetNTOFRef() const {return fNTOFRef;} | |
94 | const TClonesArray *GetTPCReferences() const { return fTPCReferences;} | |
95 | const TClonesArray * GetTRDReferences() const { return fTRDReferences;} | |
96 | const TClonesArray * GetITSReferences() const { return fITSReferences;} | |
97 | const TClonesArray * GetTOFReferences() const { return fTOFReferences;} | |
98 | private: | |
99 | AliTrackReference fTrackRef; // track reference saved in the output tree | |
100 | AliTrackReference fTrackRefOut; // decay track reference saved in the output tree | |
101 | AliTrackReference fTRdecay; // track reference at decay point | |
102 | // | |
103 | Int_t fPrimPart; // index of primary particle in TreeH | |
104 | TParticle fParticle; // generated particle | |
105 | Float_t fMass; // mass of the particle | |
106 | Float_t fCharge; // | |
107 | Int_t fLabel; // track label | |
108 | Int_t fEventNr; // event number | |
109 | Int_t fMCtracks; // indication of how many times the track is retuturned back | |
110 | Int_t fPdg; //pdg code | |
111 | Float_t fDecayCoord[3]; // position of particle decay | |
112 | Double_t fVDist[4]; //distance of the particle vertex from primary vertex | |
113 | Bool_t fTPCdecay; //indicates decay in TPC | |
114 | Int_t fRowsWithDigitsInn; // number of rows with digits in the inner sectors | |
115 | Int_t fRowsWithDigits; // number of rows with digits in the outer sectors | |
116 | Int_t fRowsTrackLength; // last - first row with digit | |
117 | Float_t fPrim; // theoretical dedx in tpc according particle momenta and mass | |
118 | AliTPCdigitRow fTPCRow; // information about digits row pattern | |
119 | Int_t fNTPCRef; // tpc references counter | |
120 | Int_t fNITSRef; // ITS references counter | |
121 | Int_t fNTRDRef; // TRD references counter | |
122 | Int_t fNTOFRef; // TOF references counter | |
123 | TClonesArray * fTPCReferences; //containner with all track references -in the TPC | |
124 | TClonesArray * fITSReferences; //container with ITS references | |
125 | TClonesArray * fTRDReferences; //container with TRD references | |
126 | TClonesArray * fTOFReferences; //container with TRD references | |
127 | // | |
128 | ClassDef(AliMCInfo,1); // container for | |
129 | }; | |
130 | ||
131 | ||
132 | ||
133 | #endif |