]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG1/AliMCInfo.h
introducing the all-MODULE target by default
[u/mrichter/AliRoot.git] / PWG1 / AliMCInfo.h
CommitLineData
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
25class TFile;
26class AliRunLoader;
27class AliStack;
28class AliTPCParam;
29
30const Int_t kgRowBytes = 32;
31
32class AliTPCdigitRow: public TObject {
33public:
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
44private:
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
56class AliMCInfo: public TObject {
57 friend class AliGenInfoMaker;
58 friend class AliRecInfoMaker;
59 friend class AliESDRecInfo;
60public:
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;}
98private:
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