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 <TEvePointSet.h>
18 #include "AliESDEvent.h"
28 class AliEMCALGeometry;
29 class AliEveEMCALSModuleData;
35 class AliEveEMCALData : public TObject, public TEveRefCnt
39 AliEveEMCALData(AliRunLoader* rl, TGeoNode* node, TGeoHMatrix* m);
42 void SetTree(TTree* const tree);
43 void SetESD(AliESDEvent* const esd);
44 void SetNode(TGeoNode* const node);
45 void InitEMCALGeom(AliRunLoader* const rl);
46 void GetGeomInfo(Int_t id, Int_t &iSupMod, Double_t& x, Double_t& y, Double_t& z);
48 void CreateAllSModules();
49 void CreateSModule(Int_t sm);
50 void DropAllSModules();
51 void DeleteSuperModules();
53 void LoadHits(TTree* const t);
54 void LoadDigits(TTree* t);
55 void LoadRecPoints(TTree* const t);
56 void LoadHitsFromEMCALLoader(AliEMCALLoader* const emcl);
57 void LoadDigitsFromEMCALLoader(AliEMCALLoader* const emcl);
58 void LoadRecPointsFromEMCALLoader(AliEMCALLoader* const emcl);
59 void LoadDigitsFromESD();
60 void LoadRecPointsFromESD();
63 AliEveEMCALSModuleData* GetSModuleData(Int_t sm);
64 TEvePointSet* GetPointSetData() const {return fPoint;};
67 AliEMCAL* fEmcal; // EMCal data member
68 AliEMCALGeometry* fGeom; // Data member to set/call EMCAL geometry
69 TGeoNode* fNode; // Node for bbox definition
70 TGeoHMatrix* fHMatrix; // matrix for local to global transformation
72 AliESDEvent* fESD; // Esd
73 Int_t fNsm; // Total number of Super Modules
74 Int_t fNsmfull; // Number of full size Super Modules
75 Int_t fNsmhalf; // Number of half size Super Modules
76 std::vector<AliEveEMCALSModuleData*> fSM; // vector of fNsm SModules
77 std::vector<AliEveEMCALSModuleData*> fSMfull; // vector of fNsmfull SModules
78 std::vector<AliEveEMCALSModuleData*> fSMhalf; // vector of fNhalf SModules
79 AliRunLoader* fRunLoader; // Run Loader
80 Int_t fDebug; // Debug option
81 TEvePointSet* fPoint; // TEvePointSet for hits
84 AliEveEMCALData(const AliEveEMCALData &edata);
85 AliEveEMCALData& operator=(const AliEveEMCALData &edata); // Not implemented
87 ClassDef(AliEveEMCALData, 0); // Base class for TRD hits visualisation