#ifndef ALIEVEEMCALSMODULEDATA_H
#define ALIEVEEMCALSMODULEDATA_H
#include <vector>
#include <AliEveEMCALData.h>
class TClonesArray;
class TGeoNode;
class TGeoMatrix;
class TEvePointSet;
class TEveQuadSet;
class TEveBoxSet;
class TEveFrameBox;
class TEvePointSet;
class TEveTrans;
class TTree;
class TStyle;
class TGedFrame;
class TBuffer3DTypes;
class TBuffer3D;
class TVirtualPad;
class TVirtualViewer3D;
class AliRun;
class AliEMCALGeometry;
class AliESDEvent;
class AliEMCAL;
class AliEMCALHit;
class AliEMCALDigit;
class AliEMCALGeometry;
class AliEveEMCALSModuleData : public TObject
{
public:
AliEveEMCALSModuleData(Int_t chamber,AliEMCALGeometry* geom,TGeoNode* node, TGeoHMatrix* m);
virtual ~AliEveEMCALSModuleData();
void DropData();
void Init(Int_t sm);
void RegisterDigit(Int_t AbsId, Int_t isupMod, Double_t iamp, Double_t ix, Double_t iy, Double_t iz);
void RegisterCluster(Int_t isupMod, Double_t iamp, Double_t ix, Double_t iy, Double_t iz);
void RegisterHit(Int_t AbsId, Int_t isupMod, Double_t iamp, Double_t ix, Double_t iy, Double_t iz);
Int_t GetNDigits() const { return fNDigits; };
Int_t GetNClusters() const { return fNClusters; };
Int_t GetNHits() const { return fNHits; };
Int_t GetSmId() const { return fSmId; };
Int_t GetNsm() const {return fNsm;};
Int_t GetNsmf() const {return fNsmfull;};
Int_t GetNsmh() const {return fNsmhalf;};
std::vector< std::vector<Double_t> > GetDigitBuffer() const { return fDigitArray; };
std::vector< std::vector<Double_t> > GetClusterBuffer() const { return fClusterArray; };
std::vector< std::vector<Float_t> > GetHitBuffer() const { return fHitArray; };
void GetSModuleBigBox(Float_t& bbox0, Float_t& bbox1, Float_t& bbox2)
const { bbox0 = fgSModuleBigBox0; bbox1 = fgSModuleBigBox1; bbox2 = fgSModuleBigBox2;};
void GetSModuleSmallBox(Float_t& bbox0, Float_t& bbox1, Float_t& bbox2)
const { bbox0 = fgSModuleSmallBox0; bbox1 = fgSModuleSmallBox1; bbox2 = fgSModuleSmallBox2;};
void GetSModuleCenter(Float_t& bboxCenter0, Float_t& bboxCenter1, Float_t& bboxCenter2)
const { bboxCenter0 = fgSModuleCenter0; bboxCenter1 = fgSModuleCenter1; bboxCenter2 = fgSModuleCenter2;};
Float_t GetPhiTileSize() const {return fPhiTileSize;};
Float_t GetEtaTileSize() const {return fEtaTileSize;};
TGeoMatrix* GetSModuleMatrix() const {return fMatrix;};
protected:
AliEMCALGeometry* fGeom;
TGeoNode* fNode;
Int_t fSmId;
Int_t fNsm;
Int_t fNsmfull;
Int_t fNsmhalf;
Int_t fNDigits;
Int_t fNClusters;
Int_t fNHits;
Float_t fPhiTileSize;
Float_t fEtaTileSize;
std::vector< std::vector<Float_t> > fHitArray;
std::vector< std::vector<Double_t> > fDigitArray;
std::vector< std::vector<Double_t> > fClusterArray;
static Float_t fgSModuleBigBox0;
static Float_t fgSModuleBigBox1;
static Float_t fgSModuleBigBox2;
static Float_t fgSModuleSmallBox0;
static Float_t fgSModuleSmallBox1;
static Float_t fgSModuleSmallBox2;
static Float_t fgSModuleCenter0;
static Float_t fgSModuleCenter1;
static Float_t fgSModuleCenter2;
TGeoMatrix* fMatrix;
TGeoHMatrix* fHMatrix;
private:
AliEveEMCALSModuleData(const AliEveEMCALSModuleData& esmdata);
AliEveEMCALSModuleData& operator=(const AliEveEMCALSModuleData&);
ClassDef(AliEveEMCALSModuleData, 0);
};
#endif
AliEveEMCALSModuleData.h:1 AliEveEMCALSModuleData.h:2 AliEveEMCALSModuleData.h:3 AliEveEMCALSModuleData.h:4 AliEveEMCALSModuleData.h:5 AliEveEMCALSModuleData.h:6 AliEveEMCALSModuleData.h:7 AliEveEMCALSModuleData.h:8 AliEveEMCALSModuleData.h:9 AliEveEMCALSModuleData.h:10 AliEveEMCALSModuleData.h:11 AliEveEMCALSModuleData.h:12 AliEveEMCALSModuleData.h:13 AliEveEMCALSModuleData.h:14 AliEveEMCALSModuleData.h:15 AliEveEMCALSModuleData.h:16 AliEveEMCALSModuleData.h:17 AliEveEMCALSModuleData.h:18 AliEveEMCALSModuleData.h:19 AliEveEMCALSModuleData.h:20 AliEveEMCALSModuleData.h:21 AliEveEMCALSModuleData.h:22 AliEveEMCALSModuleData.h:23 AliEveEMCALSModuleData.h:24 AliEveEMCALSModuleData.h:25 AliEveEMCALSModuleData.h:26 AliEveEMCALSModuleData.h:27 AliEveEMCALSModuleData.h:28 AliEveEMCALSModuleData.h:29 AliEveEMCALSModuleData.h:30 AliEveEMCALSModuleData.h:31 AliEveEMCALSModuleData.h:32 AliEveEMCALSModuleData.h:33 AliEveEMCALSModuleData.h:34 AliEveEMCALSModuleData.h:35 AliEveEMCALSModuleData.h:36 AliEveEMCALSModuleData.h:37 AliEveEMCALSModuleData.h:38 AliEveEMCALSModuleData.h:39 AliEveEMCALSModuleData.h:40 AliEveEMCALSModuleData.h:41 AliEveEMCALSModuleData.h:42 AliEveEMCALSModuleData.h:43 AliEveEMCALSModuleData.h:44 AliEveEMCALSModuleData.h:45 AliEveEMCALSModuleData.h:46 AliEveEMCALSModuleData.h:47 AliEveEMCALSModuleData.h:48 AliEveEMCALSModuleData.h:49 AliEveEMCALSModuleData.h:50 AliEveEMCALSModuleData.h:51 AliEveEMCALSModuleData.h:52 AliEveEMCALSModuleData.h:53 AliEveEMCALSModuleData.h:54 AliEveEMCALSModuleData.h:55 AliEveEMCALSModuleData.h:56 AliEveEMCALSModuleData.h:57 AliEveEMCALSModuleData.h:58 AliEveEMCALSModuleData.h:59 AliEveEMCALSModuleData.h:60 AliEveEMCALSModuleData.h:61 AliEveEMCALSModuleData.h:62 AliEveEMCALSModuleData.h:63 AliEveEMCALSModuleData.h:64 AliEveEMCALSModuleData.h:65 AliEveEMCALSModuleData.h:66 AliEveEMCALSModuleData.h:67 AliEveEMCALSModuleData.h:68 AliEveEMCALSModuleData.h:69 AliEveEMCALSModuleData.h:70 AliEveEMCALSModuleData.h:71 AliEveEMCALSModuleData.h:72 AliEveEMCALSModuleData.h:73 AliEveEMCALSModuleData.h:74 AliEveEMCALSModuleData.h:75 AliEveEMCALSModuleData.h:76 AliEveEMCALSModuleData.h:77 AliEveEMCALSModuleData.h:78 AliEveEMCALSModuleData.h:79 AliEveEMCALSModuleData.h:80 AliEveEMCALSModuleData.h:81 AliEveEMCALSModuleData.h:82 AliEveEMCALSModuleData.h:83 AliEveEMCALSModuleData.h:84 AliEveEMCALSModuleData.h:85 AliEveEMCALSModuleData.h:86 AliEveEMCALSModuleData.h:87 AliEveEMCALSModuleData.h:88 AliEveEMCALSModuleData.h:89 AliEveEMCALSModuleData.h:90 AliEveEMCALSModuleData.h:91 AliEveEMCALSModuleData.h:92 AliEveEMCALSModuleData.h:93 AliEveEMCALSModuleData.h:94 AliEveEMCALSModuleData.h:95 AliEveEMCALSModuleData.h:96 AliEveEMCALSModuleData.h:97 AliEveEMCALSModuleData.h:98 AliEveEMCALSModuleData.h:99 AliEveEMCALSModuleData.h:100 AliEveEMCALSModuleData.h:101 AliEveEMCALSModuleData.h:102 AliEveEMCALSModuleData.h:103 AliEveEMCALSModuleData.h:104 AliEveEMCALSModuleData.h:105 AliEveEMCALSModuleData.h:106 AliEveEMCALSModuleData.h:107 AliEveEMCALSModuleData.h:108 AliEveEMCALSModuleData.h:109 AliEveEMCALSModuleData.h:110 AliEveEMCALSModuleData.h:111