]>
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; | |
5c7ef659 | 28 | |
5c7ef659 | 29 | |
30 | class AliTPCdigitRow: public TObject { | |
31 | public: | |
32 | AliTPCdigitRow(); | |
33 | virtual ~AliTPCdigitRow(){;} | |
34 | void SetRow(Int_t row); | |
35 | Bool_t TestRow(Int_t row) const ; | |
36 | AliTPCdigitRow & operator=(const AliTPCdigitRow &digOld); | |
7ff5e4cf | 37 | Int_t RowsOn(Int_t upto=8*32) const; |
5c7ef659 | 38 | Int_t Last() const; |
39 | Int_t First() const ; | |
40 | void Reset(); | |
41 | ||
42 | private: | |
7ff5e4cf | 43 | UChar_t fDig[32]; // bitmask of the digits presence |
5c7ef659 | 44 | ClassDef(AliTPCdigitRow,1) // container for digit pattern |
45 | }; | |
46 | ||
47 | ||
48 | //////////////////////////////////////////////////////////////////////// | |
49 | // | |
50 | // Start of implementation of the class AliMCInfo | |
51 | // | |
52 | //////////////////////////////////////////////////////////////////////// | |
53 | ||
54 | class AliMCInfo: public TObject { | |
55 | friend class AliGenInfoMaker; | |
56 | friend class AliRecInfoMaker; | |
57 | friend class AliESDRecInfo; | |
58 | public: | |
59 | AliMCInfo(); | |
60 | ~AliMCInfo(); | |
61 | AliMCInfo(const AliMCInfo& info); | |
cd875161 | 62 | AliMCInfo& operator=(const AliMCInfo& info); |
63 | // | |
5c7ef659 | 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;} | |
d390cc7e | 98 | void CalcTPCrows(TClonesArray *arrayTR); |
5c7ef659 | 99 | private: |
100 | AliTrackReference fTrackRef; // track reference saved in the output tree | |
101 | AliTrackReference fTrackRefOut; // decay track reference saved in the output tree | |
102 | AliTrackReference fTRdecay; // track reference at decay point | |
103 | // | |
104 | Int_t fPrimPart; // index of primary particle in TreeH | |
105 | TParticle fParticle; // generated particle | |
106 | Float_t fMass; // mass of the particle | |
7ff5e4cf | 107 | Float_t fCharge; // charge of the particle |
5c7ef659 | 108 | Int_t fLabel; // track label |
109 | Int_t fEventNr; // event number | |
110 | Int_t fMCtracks; // indication of how many times the track is retuturned back | |
111 | Int_t fPdg; //pdg code | |
112 | Float_t fDecayCoord[3]; // position of particle decay | |
113 | Double_t fVDist[4]; //distance of the particle vertex from primary vertex | |
114 | Bool_t fTPCdecay; //indicates decay in TPC | |
d390cc7e | 115 | // |
116 | // TPC row information using digits | |
5c7ef659 | 117 | Int_t fRowsWithDigitsInn; // number of rows with digits in the inner sectors |
118 | Int_t fRowsWithDigits; // number of rows with digits in the outer sectors | |
119 | Int_t fRowsTrackLength; // last - first row with digit | |
d390cc7e | 120 | // |
121 | // TPC track refernce information | |
122 | Float_t fTPCtrackLength; // distance between first and last track reference | |
123 | // | |
5c7ef659 | 124 | Float_t fPrim; // theoretical dedx in tpc according particle momenta and mass |
125 | AliTPCdigitRow fTPCRow; // information about digits row pattern | |
126 | Int_t fNTPCRef; // tpc references counter | |
127 | Int_t fNITSRef; // ITS references counter | |
128 | Int_t fNTRDRef; // TRD references counter | |
129 | Int_t fNTOFRef; // TOF references counter | |
130 | TClonesArray * fTPCReferences; //containner with all track references -in the TPC | |
131 | TClonesArray * fITSReferences; //container with ITS references | |
132 | TClonesArray * fTRDReferences; //container with TRD references | |
133 | TClonesArray * fTOFReferences; //container with TRD references | |
134 | // | |
135 | ClassDef(AliMCInfo,1); // container for | |
136 | }; | |
137 | ||
138 | ||
139 | ||
140 | #endif |