]>
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); | |
62 | void Update(); | |
63 | Int_t GetEventNr() const {return fEventNr;} | |
64 | const AliTrackReference& GetTrackRef() const {return fTrackRef;} | |
65 | const AliTrackReference& GetTrackRefOut() const {return fTrackRefOut;} | |
66 | const AliTrackReference& GetTRdecay() const {return fTRdecay;} | |
67 | TParticle& GetParticle() {return fParticle;} | |
68 | Float_t TPCBetheBloch(Float_t bg); | |
69 | // | |
70 | Int_t GetPrimPart() const {return fPrimPart;} | |
71 | Float_t GetMass() const {return fMass;} | |
72 | Float_t GetCharge() const {return fCharge;} | |
73 | Int_t GetLabel() const {return fLabel;} | |
74 | ||
75 | Int_t GetMCtracks() const {return fMCtracks;} | |
76 | Int_t GetPdg() const {return fPdg;} | |
77 | const Float_t* GetDecayCoord() const {return fDecayCoord;} | |
78 | const Double_t* GetVDist() const {return fVDist;} | |
79 | ||
80 | Bool_t IsTPCdecay() const {return fTPCdecay;} | |
81 | ||
82 | Int_t GetRowsWithDigitsInn() const {return fRowsWithDigitsInn;} | |
83 | Int_t GetRowsWithDigits() const {return fRowsWithDigits;} | |
84 | Int_t GetRowsTrackLength() const {return fRowsTrackLength;} | |
85 | Float_t GetPrim() const { return fPrim;} | |
86 | ||
87 | AliTPCdigitRow & GetTPCRow() {return fTPCRow;} | |
88 | Int_t GetNTPCRef() const {return fNTPCRef;} | |
89 | Int_t GetNITSRef() const {return fNITSRef;} | |
90 | Int_t GetNTRDRef() const {return fNTRDRef;} | |
91 | Int_t GetNTOFRef() const {return fNTOFRef;} | |
92 | const TClonesArray *GetTPCReferences() const { return fTPCReferences;} | |
93 | const TClonesArray * GetTRDReferences() const { return fTRDReferences;} | |
94 | const TClonesArray * GetITSReferences() const { return fITSReferences;} | |
95 | const TClonesArray * GetTOFReferences() const { return fTOFReferences;} | |
96 | private: | |
97 | AliTrackReference fTrackRef; // track reference saved in the output tree | |
98 | AliTrackReference fTrackRefOut; // decay track reference saved in the output tree | |
99 | AliTrackReference fTRdecay; // track reference at decay point | |
100 | // | |
101 | Int_t fPrimPart; // index of primary particle in TreeH | |
102 | TParticle fParticle; // generated particle | |
103 | Float_t fMass; // mass of the particle | |
7ff5e4cf | 104 | Float_t fCharge; // charge of the particle |
5c7ef659 | 105 | Int_t fLabel; // track label |
106 | Int_t fEventNr; // event number | |
107 | Int_t fMCtracks; // indication of how many times the track is retuturned back | |
108 | Int_t fPdg; //pdg code | |
109 | Float_t fDecayCoord[3]; // position of particle decay | |
110 | Double_t fVDist[4]; //distance of the particle vertex from primary vertex | |
111 | Bool_t fTPCdecay; //indicates decay in TPC | |
112 | Int_t fRowsWithDigitsInn; // number of rows with digits in the inner sectors | |
113 | Int_t fRowsWithDigits; // number of rows with digits in the outer sectors | |
114 | Int_t fRowsTrackLength; // last - first row with digit | |
115 | Float_t fPrim; // theoretical dedx in tpc according particle momenta and mass | |
116 | AliTPCdigitRow fTPCRow; // information about digits row pattern | |
117 | Int_t fNTPCRef; // tpc references counter | |
118 | Int_t fNITSRef; // ITS references counter | |
119 | Int_t fNTRDRef; // TRD references counter | |
120 | Int_t fNTOFRef; // TOF references counter | |
121 | TClonesArray * fTPCReferences; //containner with all track references -in the TPC | |
122 | TClonesArray * fITSReferences; //container with ITS references | |
123 | TClonesArray * fTRDReferences; //container with TRD references | |
124 | TClonesArray * fTOFReferences; //container with TRD references | |
125 | // | |
126 | ClassDef(AliMCInfo,1); // container for | |
127 | }; | |
128 | ||
129 | ||
130 | ||
131 | #endif |