2 // Fill containers for visualisation of EMCAL data structures
4 // Author: Magali Estienne (magali.estienne@cern.ch)
8 #ifndef ALIEVEEMCALDATA_H
9 #define ALIEVEEMCALDATA_H
12 #include <TGeoMatrix.h>
13 #include <TEveRGBAPalette.h>
14 #include <TEveTrans.h>
15 #include <TEveQuadSet.h>
16 #include "AliESDEvent.h"
19 #include "TEvePointSet.h"
27 class AliEMCALGeometry;
28 class AliEveEMCALSModuleData;
34 class AliEveEMCALData : public TObject, public TEveRefCnt
38 AliEveEMCALData(AliRunLoader* rl, TGeoNode* node, TGeoHMatrix* m);
41 void SetTree(TTree* const tree);
42 void SetESD(AliESDEvent* const esd);
43 void SetNode(TGeoNode* const node);
44 void InitEMCALGeom(AliRunLoader* const rl);
45 void GetGeomInfo(Int_t id, Int_t &iSupMod, Double_t& x, Double_t& y, Double_t& z);
47 void CreateAllSModules();
48 void CreateSModule(Int_t sm);
49 void DropAllSModules();
50 void DeleteSuperModules();
52 void LoadHits(TTree* const t);
53 void LoadDigits(TTree* t);
54 void LoadRecPoints(TTree* const t);
55 void LoadHitsFromEMCALLoader(AliEMCALLoader* const emcl);
56 void LoadDigitsFromEMCALLoader(AliEMCALLoader* const emcl);
57 void LoadRecPointsFromEMCALLoader(AliEMCALLoader* const emcl);
58 void LoadDigitsFromESD();
59 void LoadRecPointsFromESD();
62 AliEveEMCALSModuleData* GetSModuleData(Int_t sm);
63 TEvePointSet* GetPointSetData() const {return fPoint;};
66 AliEMCAL* fEmcal; // EMCal data member
67 AliEMCALGeometry* fGeom; // Data member to set/call EMCAL geometry
68 TGeoNode* fNode; // Node for bbox definition
69 TGeoHMatrix* fHMatrix; // matrix for local to global transformation
71 AliESDEvent* fESD; // Esd
72 Int_t fNsm; // Total number of Super Modules
73 Int_t fNsmfull; // Number of full size Super Modules
74 Int_t fNsmhalf; // Number of half size Super Modules
75 std::vector<AliEveEMCALSModuleData*> fSM; // vector of fNsm SModules
76 std::vector<AliEveEMCALSModuleData*> fSMfull; // vector of fNsmfull SModules
77 std::vector<AliEveEMCALSModuleData*> fSMhalf; // vector of fNhalf SModules
78 AliRunLoader* fRunLoader; // Run Loader
79 Int_t fDebug; // Debug option
80 TEvePointSet* fPoint; // TEvePointSet for hits
83 AliEveEMCALData(const AliEveEMCALData &edata);
84 AliEveEMCALData& operator=(const AliEveEMCALData &edata); // Not implemented
86 ClassDef(AliEveEMCALData, 0); // Base class for TRD hits visualisation