]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/Alieve/ITSDigitsInfo.h
Runloader is updated when moving to next file (quick fix).
[u/mrichter/AliRoot.git] / EVE / Alieve / ITSDigitsInfo.h
1 // $Header$
2
3 #ifndef ALIEVE_ITSDigitsInfo_H
4 #define ALIEVE_ITSDigitsInfo_H
5
6 #include <Reve/Reve.h>
7
8 #include <map>
9 #include <vector>
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
21
22 namespace Alieve {
23 /**************************************************************************/
24 // ITSModuleSelection
25 /**************************************************************************/
26 class ITSModuleSelection
27 {
28 public:
29   Int_t    fType;
30   Int_t    fLayer;
31   Float_t  fMinPhi;
32   Float_t  fMaxPhi;
33   Float_t  fMinTheta;
34   Float_t  fMaxTheta; 
35   
36   ITSModuleSelection();
37
38   ClassDef(ITSModuleSelection, 1);
39 };
40
41 /**************************************************************************/
42 // ITSDigitsInfo
43 /**************************************************************************/
44 class ITSDigitsInfo : public TObject, public Reve::ReferenceCount
45 {
46   ITSDigitsInfo(const ITSDigitsInfo&);            // Not implemented
47   ITSDigitsInfo& operator=(const ITSDigitsInfo&); // Not implemented
48
49 private:
50   Float_t fSPDZCoord[192];
51
52 protected:
53   map<Int_t,  TClonesArray*> fSPDmap;
54   map<Int_t,  TClonesArray*> fSDDmap;
55   map<Int_t,  TClonesArray*> fSSDmap;
56
57   void        SetITSSegmentation();
58
59 public:
60   TTree*                   fTree;
61
62   AliITSgeom*              fGeom;
63
64   AliITSsegmentationSPD*   fSegSPD;
65   AliITSsegmentationSDD*   fSegSDD;
66   AliITSsegmentationSSD*   fSegSSD;
67
68   Int_t                    fSPDMinVal;
69   Int_t                    fSSDMinVal;
70   Int_t                    fSDDMinVal;
71   Int_t                    fSPDMaxVal;
72   Int_t                    fSSDMaxVal;
73   Int_t                    fSDDMaxVal;
74
75   Float_t                  fSPDMaxOcc;
76   Float_t                  fSDDMaxOcc;
77   Float_t                  fSSDMaxOcc;
78
79   Int_t                    fSPDScaleX[5];
80   Int_t                    fSPDScaleZ[5];
81   Int_t                    fSDDScaleX[5];
82   Int_t                    fSDDScaleZ[5];
83   Int_t                    fSSDScale [5];
84
85   ITSDigitsInfo();
86   virtual ~ITSDigitsInfo();
87
88   void SetTree(TTree* tree);
89  
90   TClonesArray* GetDigits(Int_t moduleID, Int_t detector);
91
92   void GetSPDLocalZ(Int_t j, Float_t& z);
93
94   void GetModuleIDs(ITSModuleSelection* sel, std::vector<UInt_t>& ids);
95
96   virtual void Print(Option_t* opt="") const;
97
98   ClassDef(ITSDigitsInfo, 1);
99 }; // endclass ITSDigitsInfo
100
101 }
102 #endif