3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 //////////////////////////////////////////////////////////////////////////////
10 // collect together MC info for comparison purposes - effieciency studies and so on// //
11 // marian.ivanov@cern.ch //
12 //////////////////////////////////////////////////////////////////////////////
16 ////////////////////////////////////////////////////////////////////////
18 // Start of implementation of the class AliTPCdigitRow
20 ////////////////////////////////////////////////////////////////////////
22 #include <TParticle.h>
23 #include "AliTrackReference.h"
30 class AliTPCdigitRow: public TObject {
33 virtual ~AliTPCdigitRow(){;}
34 void SetRow(Int_t row);
35 Bool_t TestRow(Int_t row) const ;
36 AliTPCdigitRow & operator=(const AliTPCdigitRow &digOld);
37 Int_t RowsOn(Int_t upto=8*32) const;
43 UChar_t fDig[32]; // bitmask of the digits presence
44 ClassDef(AliTPCdigitRow,1) // container for digit pattern
48 ////////////////////////////////////////////////////////////////////////
50 // Start of implementation of the class AliMCInfo
52 ////////////////////////////////////////////////////////////////////////
54 class AliMCInfo: public TObject {
55 friend class AliGenInfoMaker;
56 friend class AliRecInfoMaker;
57 friend class AliESDRecInfo;
61 AliMCInfo(const AliMCInfo& info);
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);
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;}
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;}
80 Bool_t IsTPCdecay() const {return fTPCdecay;}
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;}
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;}
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
101 Int_t fPrimPart; // index of primary particle in TreeH
102 TParticle fParticle; // generated particle
103 Float_t fMass; // mass of the particle
104 Float_t fCharge; // charge of the particle
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
126 ClassDef(AliMCInfo,1); // container for