]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/Alieve/ITSDigitsInfo.h
This commit was generated by cvs2svn to compensate for changes in r13732,
[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/VSD.h>
7
8 #include <map>
9
10 #include <TObject.h>
11 #include <TClonesArray.h>
12 #include <TTree.h>
13
14 #include <AliITS.h>
15 #include <AliITSgeom.h>
16 #include <AliITSsegmentationSPD.h>
17 #include <AliITSsegmentationSDD.h>
18 #include <AliITSsegmentationSSD.h>
19
20 static const int NSCALE = 5;
21
22 namespace Alieve {
23
24 class ITSDigitsInfo : public TObject
25 {
26 private:
27   void Init();
28   Float_t fSPDZCoord[192];
29
30 protected:
31   Int_t                      fRefCount;
32
33   map<Int_t,  TClonesArray*> fSPDmap;
34   map<Int_t,  TClonesArray*> fSDDmap;
35   map<Int_t,  TClonesArray*> fSSDmap;
36
37   void        SetITSSegmentation();
38
39 public:
40   TTree*                   fTree;
41   AliITSgeom*              fGeom;
42   AliITSsegmentationSPD*   fSegSPD;
43   AliITSsegmentationSDD*   fSegSDD;
44   AliITSsegmentationSSD*   fSegSSD;
45
46   Int_t        fSPDScaleX[NSCALE];
47   Int_t        fSPDScaleZ[NSCALE];
48   Int_t        fSDDScaleX[NSCALE];
49   Int_t        fSDDScaleZ[NSCALE];
50   Int_t        fSSDScale[NSCALE];
51     
52   ITSDigitsInfo(const Text_t* /*n*/="ITSDigitsInfo", const Text_t* /*t*/=0) :
53     TObject()
54   { Init(); } 
55  
56   virtual ~ITSDigitsInfo();
57
58   void SetTree(TTree* tree);
59  
60   TClonesArray* GetDigits(Int_t moduleID, Int_t detector);
61
62   void GetSPDLocalZ(Int_t j, Float_t& z);
63
64
65   void IncRefCount() { ++fRefCount; }
66   void DecRefCount() { --fRefCount; if(fRefCount <= 0) delete this; }
67
68   virtual void Print(Option_t* opt="") const;
69
70   ClassDef(ITSDigitsInfo, 1);
71 }; // endclass ITSDigitsInfo
72
73 }
74 #endif