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