5a5a1232 |
1 | // $Header$ |
2 | |
3 | #ifndef ALIEVE_ITSDigitsInfo_H |
4 | #define ALIEVE_ITSDigitsInfo_H |
5 | |
d54c094e |
6 | #include <Reve/Reve.h> |
5a5a1232 |
7 | |
8 | #include <map> |
3d598e88 |
9 | #include <vector> |
5a5a1232 |
10 | |
11 | #include <TObject.h> |
12 | #include <TClonesArray.h> |
13 | #include <TTree.h> |
14 | |
15 | #include <AliITS.h> |
16 | #include <AliITSgeom.h> |
17 | #include <AliITSsegmentationSPD.h> |
18 | #include <AliITSsegmentationSDD.h> |
19 | #include <AliITSsegmentationSSD.h> |
20 | |
b3bc5327 |
21 | class AliRawReader; |
5a5a1232 |
22 | |
23 | namespace Alieve { |
3d598e88 |
24 | /**************************************************************************/ |
25 | // ITSModuleSelection |
26 | /**************************************************************************/ |
27 | class ITSModuleSelection |
28 | { |
29 | public: |
30 | Int_t fType; |
31 | Int_t fLayer; |
32 | Float_t fMinPhi; |
33 | Float_t fMaxPhi; |
34 | Float_t fMinTheta; |
35 | Float_t fMaxTheta; |
36 | |
37 | ITSModuleSelection(); |
32e219c2 |
38 | virtual ~ITSModuleSelection() {} |
3d598e88 |
39 | |
40 | ClassDef(ITSModuleSelection, 1); |
41 | }; |
42 | |
43 | /**************************************************************************/ |
44 | // ITSDigitsInfo |
45 | /**************************************************************************/ |
d54c094e |
46 | class ITSDigitsInfo : public TObject, public Reve::ReferenceCount |
5a5a1232 |
47 | { |
265ecb21 |
48 | ITSDigitsInfo(const ITSDigitsInfo&); // Not implemented |
49 | ITSDigitsInfo& operator=(const ITSDigitsInfo&); // Not implemented |
50 | |
5a5a1232 |
51 | private: |
5a5a1232 |
52 | Float_t fSPDZCoord[192]; |
53 | |
b3bc5327 |
54 | void InitInternals(); |
55 | |
5a5a1232 |
56 | protected: |
5a5a1232 |
57 | map<Int_t, TClonesArray*> fSPDmap; |
58 | map<Int_t, TClonesArray*> fSDDmap; |
59 | map<Int_t, TClonesArray*> fSSDmap; |
60 | |
61 | void SetITSSegmentation(); |
62 | |
63 | public: |
64 | TTree* fTree; |
d4b6a94c |
65 | |
5a5a1232 |
66 | AliITSgeom* fGeom; |
67 | AliITSsegmentationSPD* fSegSPD; |
68 | AliITSsegmentationSDD* fSegSDD; |
69 | AliITSsegmentationSSD* fSegSSD; |
70 | |
d4b6a94c |
71 | Int_t fSPDMinVal; |
72 | Int_t fSSDMinVal; |
73 | Int_t fSDDMinVal; |
74 | Int_t fSPDMaxVal; |
75 | Int_t fSSDMaxVal; |
76 | Int_t fSDDMaxVal; |
77 | |
32e219c2 |
78 | Int_t fSPDHighLim; |
79 | Int_t fSDDHighLim; |
80 | Int_t fSSDHighLim; |
d4b6a94c |
81 | |
82 | Int_t fSPDScaleX[5]; |
83 | Int_t fSPDScaleZ[5]; |
84 | Int_t fSDDScaleX[5]; |
85 | Int_t fSDDScaleZ[5]; |
86 | Int_t fSSDScale [5]; |
87 | |
265ecb21 |
88 | ITSDigitsInfo(); |
5a5a1232 |
89 | virtual ~ITSDigitsInfo(); |
90 | |
91 | void SetTree(TTree* tree); |
b3bc5327 |
92 | void ReadRaw(AliRawReader* raw); |
93 | |
5a5a1232 |
94 | TClonesArray* GetDigits(Int_t moduleID, Int_t detector); |
95 | |
96 | void GetSPDLocalZ(Int_t j, Float_t& z); |
97 | |
3d598e88 |
98 | void GetModuleIDs(ITSModuleSelection* sel, std::vector<UInt_t>& ids); |
99 | |
5a5a1232 |
100 | virtual void Print(Option_t* opt="") const; |
101 | |
102 | ClassDef(ITSDigitsInfo, 1); |
103 | }; // endclass ITSDigitsInfo |
104 | |
105 | } |
106 | #endif |