b2b13ee2 |
1 | #ifndef PMDDigitizer_H |
2 | #define PMDDigitizer_H |
3 | //-----------------------------------------------------// |
4 | // // |
5 | // Header File : PMDDigitization.h, Version 00 // |
6 | // // |
7 | // Date : September 20 2002 // |
8 | // // |
9 | //-----------------------------------------------------// |
10 | |
11 | #include <Riostream.h> |
12 | #include <stdlib.h> |
13 | #include <math.h> |
14 | #include <TMath.h> |
b2b13ee2 |
15 | |
16 | class TClonesArray; |
17 | class TFile; |
18 | |
19 | class TObjArray; |
20 | class TParticle; |
21 | class TTree; |
22 | class TNtuple; |
23 | |
24 | class AliLoader; |
25 | class AliRunLoader; |
26 | class AliRun; |
27 | class AliDetector; |
28 | class AliPMDhit; |
29 | class AliHit; |
30 | class AliHeader; |
31 | |
32 | class AliPMDcell; |
33 | class AliPMDsdigit; |
34 | class AliPMDdigit; |
35 | class AliPMDClustering; |
b2b13ee2 |
36 | |
b2b13ee2 |
37 | class AliPMDDigitizer |
38 | { |
39 | protected: |
40 | AliRunLoader *fRunLoader; |
41 | AliRun *gAlice; |
42 | AliPMDhit *pmdHit; /* Pointer to specific detector hits. */ |
43 | AliDetector *PMD; /* Get pointers to Alice detectors |
44 | and Hits containers */ |
45 | AliLoader *pmdloader; |
46 | |
47 | TClonesArray *PMDhits; |
48 | TObjArray *Particles; |
49 | TParticle *particle; |
50 | |
51 | TTree *treeH; |
52 | TTree *treeS; |
53 | TTree *treeD; |
b2b13ee2 |
54 | |
55 | TClonesArray *fSDigits; |
56 | TClonesArray *fDigits; |
b2b13ee2 |
57 | |
58 | TObjArray *fCell; |
59 | AliPMDcell *pmdcell; |
b2b13ee2 |
60 | |
61 | Int_t fNsdigit; |
62 | Int_t fNdigit; |
63 | Int_t fDetNo; |
64 | Float_t fZPos; |
65 | |
8599803d |
66 | static const Int_t fTotUM = 24; |
67 | static const Int_t fRow = 48; |
68 | static const Int_t fCol = 96; |
69 | Float_t fCPV[fTotUM][fRow][fCol]; |
70 | Float_t fPMD[fTotUM][fRow][fCol]; |
71 | Int_t fPMDCounter[fTotUM][fRow][fCol]; |
72 | Int_t fPMDTrackNo[fTotUM][fRow][fCol]; |
73 | Int_t fCPVTrackNo[fTotUM][fRow][fCol]; |
b2b13ee2 |
74 | |
75 | public: |
76 | |
77 | AliPMDDigitizer(); |
78 | virtual ~AliPMDDigitizer(); |
79 | |
80 | void OpengAliceFile(char * /* galice.root */, Option_t * /* option */); |
81 | |
82 | void Hits2SDigits(Int_t /* ievt */); |
83 | void Hits2Digits(Int_t /* ievt */); |
84 | void SDigits2Digits(Int_t /* ievt */); |
85 | void TrackAssignment2Cell(); |
86 | void MeV2ADC(Float_t /* mev */, Float_t & /* adc */); |
87 | void AddSDigit(Int_t /* trnumber */, Int_t /* det */, Int_t /* smnumber */, |
88 | Int_t /* cellnumber */, Float_t /* adc */); |
89 | void AddDigit(Int_t /* trnumber */, Int_t /* det */, Int_t /* smnumber */, |
90 | Int_t /* cellnumber */, Float_t /* adc */); |
91 | Int_t Convert2RealSMNumber(Int_t /* smnumber1 */ ); |
92 | void SetZPosition(Float_t /* zpos */); |
93 | Float_t GetZPosition() const; |
94 | void ResetCell(); |
95 | void ResetSDigit(); |
96 | void ResetDigit(); |
97 | void ResetCellADC(); |
98 | void UnLoad(Option_t * /* option */); |
99 | |
8599803d |
100 | ClassDef(AliPMDDigitizer,2) |
b2b13ee2 |
101 | }; |
102 | #endif |
103 | |