]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/EveDet/AliEveEMCALSModuleData.h
doxy: code cleanup: comments and clarifications
[u/mrichter/AliRoot.git] / EVE / EveDet / AliEveEMCALSModuleData.h
1 //
2 // Store the data related to each Super Module
3 //
4 //  Author: Magali Estienne (magali.estienne@cern.ch)
5 //  June 30 2008
6 //
7
8 #ifndef ALIEVEEMCALSMODULEDATA_H
9 #define ALIEVEEMCALSMODULEDATA_H
10
11 #include <vector>
12
13 #include <AliEveEMCALData.h>
14
15 class TClonesArray;
16 class TGeoNode;
17 class TGeoMatrix;
18 class TEvePointSet;
19 class TEveQuadSet;
20
21 class TEveBoxSet;
22 class TEveFrameBox;
23 class TEvePointSet;
24 class TEveTrans;
25 class TTree;
26 class TStyle;
27 class TGedFrame;
28 class TBuffer3DTypes;
29 class TBuffer3D;
30 class TVirtualPad;
31 class TVirtualViewer3D;
32 class AliRun;
33 class AliEMCALGeometry;
34 class AliESDEvent;
35 class AliEMCAL;
36 class AliEMCALHit;
37 class AliEMCALDigit;
38 class AliEMCALGeometry;
39
40
41 class AliEveEMCALSModuleData : public TObject
42 {
43 public:
44   AliEveEMCALSModuleData(Int_t chamber,AliEMCALGeometry* geom,TGeoNode* node, TGeoHMatrix* m);
45   virtual ~AliEveEMCALSModuleData();
46
47   void        DropData();
48   void        Init(Int_t sm);
49   void        RegisterDigit(Int_t AbsId, Int_t isupMod, Double_t iamp, Double_t ix, Double_t iy, Double_t iz);
50   void        RegisterCluster(Int_t isupMod, Double_t iamp, Double_t ix, Double_t iy, Double_t iz); 
51   void        RegisterHit(Int_t AbsId, Int_t isupMod, Double_t iamp, Double_t ix, Double_t iy, Double_t iz); 
52   Int_t       GetNDigits()   const { return fNDigits;   }; 
53   Int_t       GetNClusters() const { return fNClusters; }; 
54   Int_t       GetNHits()     const { return fNHits;     }; 
55   Int_t       GetSmId()      const { return fSmId; };
56   Int_t       GetNsm()       const {return fNsm;};
57   Int_t       GetNsmf()      const {return fNsmfull;};
58   Int_t       GetNsmh()      const {return fNsmhalf;};
59   std::vector< std::vector<Double_t> > GetDigitBuffer() const  { return fDigitArray;   };  
60   std::vector< std::vector<Double_t> > GetClusterBuffer() const { return fClusterArray; };  
61   std::vector< std::vector<Float_t> > GetHitBuffer() const { return fHitArray;     };  
62
63   void        GetSModuleBigBox(Float_t& bbox0, Float_t& bbox1, Float_t& bbox2) 
64   const { bbox0 = fgSModuleBigBox0; bbox1 = fgSModuleBigBox1; bbox2 = fgSModuleBigBox2;};
65   void        GetSModuleSmallBox(Float_t& bbox0, Float_t& bbox1, Float_t& bbox2) 
66   const { bbox0 = fgSModuleSmallBox0; bbox1 = fgSModuleSmallBox1; bbox2 = fgSModuleSmallBox2;};
67   void        GetSModuleCenter(Float_t& bboxCenter0, Float_t& bboxCenter1, Float_t& bboxCenter2) 
68   const { bboxCenter0 = fgSModuleCenter0; bboxCenter1 = fgSModuleCenter1; bboxCenter2 = fgSModuleCenter2;};
69   Float_t     GetPhiTileSize() const  {return fPhiTileSize;};
70   Float_t     GetEtaTileSize() const  {return fEtaTileSize;};
71   TGeoMatrix* GetSModuleMatrix() const {return fMatrix;};
72   
73  protected:
74   AliEMCALGeometry* fGeom;                 // Data member to set/call EMCAL geometry
75   TGeoNode*         fNode;                 // Node for bbox definition
76   Int_t             fSmId;                 // number of the chamber, 0 to 13 
77   Int_t             fNsm;                  // Total number of super modules
78   Int_t             fNsmfull;              // Number of full super modules
79   Int_t             fNsmhalf;              // Number of half super modules
80   Int_t             fNDigits;              // number of found digits 
81   Int_t             fNClusters;            // number of found rec points 
82   Int_t             fNHits;                // number of simulation hits 
83   
84   Float_t           fPhiTileSize;          // Typical phi size of a QuadSet (digit)
85   Float_t           fEtaTileSize;          // Typical eta size of a QuadSet (digit)
86   
87   std::vector< std::vector<Float_t> > fHitArray;     //|| Hit coordinates, etc.
88   std::vector< std::vector<Double_t> > fDigitArray;   //|| Digit coordinates, etc.
89   std::vector< std::vector<Double_t> > fClusterArray; //|| Rec point coordinates, etc.
90   
91   static Float_t    fgSModuleBigBox0;       // SM envelope box
92   static Float_t    fgSModuleBigBox1;       // SM envelope box
93   static Float_t    fgSModuleBigBox2;       // SM envelope box
94   static Float_t    fgSModuleSmallBox0;     // SM envelope box
95   static Float_t    fgSModuleSmallBox1;     // SM envelope box
96   static Float_t    fgSModuleSmallBox2;     // SM envelope box
97   static Float_t    fgSModuleCenter0;       // SM envelope box
98   static Float_t    fgSModuleCenter1;       // SM envelope box
99   static Float_t    fgSModuleCenter2;       // SM envelope box
100
101   TGeoMatrix*   fMatrix;                   // Matrix for local to global transformation
102   TGeoHMatrix*  fHMatrix;                  // Matrix for local to global transformation
103
104  private:
105   AliEveEMCALSModuleData(const AliEveEMCALSModuleData& esmdata);            
106   AliEveEMCALSModuleData& operator=(const AliEveEMCALSModuleData&); // Not implemented
107   
108   ClassDef(AliEveEMCALSModuleData, 0);     // class with data for one chamber
109 };
110
111 #endif