]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/Alieve/AliEveITSDigitsInfo.h
Put all classes in Alieve/ sub-module out of the Alieve namespace and
[u/mrichter/AliRoot.git] / EVE / Alieve / AliEveITSDigitsInfo.h
1 // $Id$
2 // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
3
4 /**************************************************************************
5  * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
6  * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for          *
7  * full copyright notice.                                                 * 
8  **************************************************************************/
9
10 #ifndef ALIEVE_ITSDigitsInfo_H
11 #define ALIEVE_ITSDigitsInfo_H
12
13 #include <TEveUtil.h>
14
15 #include <map>
16 #include <vector>
17
18 #include <TObject.h>
19 #include <TClonesArray.h>
20 #include <TTree.h>
21
22 #include <AliITS.h>
23 #include <AliITSgeom.h>
24 #include <AliITSsegmentationSPD.h>
25 #include <AliITSsegmentationSDD.h>
26 #include <AliITSsegmentationSSD.h>
27
28 class AliRawReader;
29
30 /**************************************************************************/
31 // AliEveITSModuleSelection
32 /**************************************************************************/
33 class AliEveITSModuleSelection
34 {
35 public:
36   Int_t    fType;
37   Int_t    fLayer;
38   Float_t  fMinPhi;
39   Float_t  fMaxPhi;
40   Float_t  fMinTheta;
41   Float_t  fMaxTheta; 
42   
43   AliEveITSModuleSelection();
44   virtual ~AliEveITSModuleSelection() {}
45
46   ClassDef(AliEveITSModuleSelection, 1);
47 };
48
49 /**************************************************************************/
50 // AliEveITSDigitsInfo
51 /**************************************************************************/
52 class AliEveITSDigitsInfo : public TObject, public TEveRefCnt
53 {
54   AliEveITSDigitsInfo(const AliEveITSDigitsInfo&);            // Not implemented
55   AliEveITSDigitsInfo& operator=(const AliEveITSDigitsInfo&); // Not implemented
56
57 private:
58   Float_t fSPDZCoord[192];
59
60   void InitInternals();
61
62 protected:
63   map<Int_t,  TClonesArray*> fSPDmap;
64   map<Int_t,  TClonesArray*> fSDDmap;
65   map<Int_t,  TClonesArray*> fSSDmap;
66
67   void        SetITSSegmentation();
68
69 public:
70   TTree*                   fTree;
71
72   AliITSgeom*              fGeom;
73   AliITSsegmentationSPD*   fSegSPD;
74   AliITSsegmentationSDD*   fSegSDD;
75   AliITSsegmentationSSD*   fSegSSD;
76
77   Int_t                    fSPDMinVal;
78   Int_t                    fSSDMinVal;
79   Int_t                    fSDDMinVal;
80   Int_t                    fSPDMaxVal;
81   Int_t                    fSSDMaxVal;
82   Int_t                    fSDDMaxVal;
83
84   Int_t                    fSPDHighLim;
85   Int_t                    fSDDHighLim;
86   Int_t                    fSSDHighLim;
87
88   Int_t                    fSPDScaleX[5];
89   Int_t                    fSPDScaleZ[5];
90   Int_t                    fSDDScaleX[5];
91   Int_t                    fSDDScaleZ[5];
92   Int_t                    fSSDScale [5];
93
94   AliEveITSDigitsInfo();
95   virtual ~AliEveITSDigitsInfo();
96
97   void SetTree(TTree* tree);
98   void ReadRaw(AliRawReader* raw, Int_t mode);
99
100   TClonesArray* GetDigits(Int_t moduleID, Int_t detector);
101
102   void GetSPDLocalZ(Int_t j, Float_t& z);
103
104   void GetModuleIDs(AliEveITSModuleSelection* sel, std::vector<UInt_t>& ids);
105
106   virtual void Print(Option_t* opt="") const;
107
108   ClassDef(AliEveITSDigitsInfo, 1);
109 }; // endclass AliEveITSDigitsInfo
110
111 #endif