]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/EveDet/AliEveEMCALData.h
Coverity
[u/mrichter/AliRoot.git] / EVE / EveDet / AliEveEMCALData.h
CommitLineData
345a46b0 1//
c3e34498 2// Fill containers for visualisation of EMCAL data structures
c3e34498 3//
4// Author: Magali Estienne (magali.estienne@cern.ch)
5// June 30 2008
345a46b0 6//
c3e34498 7
345a46b0 8#ifndef ALIEVEEMCALDATA_H
9#define ALIEVEEMCALDATA_H
c3e34498 10
345a46b0 11#include <TGeoNode.h>
c3e34498 12#include <TGeoMatrix.h>
345a46b0 13#include <TEveRGBAPalette.h>
14#include <TEveTrans.h>
15#include <TEveQuadSet.h>
16#include "AliESDEvent.h"
17#include "AliRun.h"
18#include "AliEMCAL.h"
b0f8b42f 19#include "TEvePointSet.h"
c3e34498 20
345a46b0 21class Riostream;
22class map;
23class TTree;
24class AliRun;
c3e34498 25class AliRunLoader;
c3e34498 26class AliEMCALLoader;
27class AliEMCALGeometry;
c3e34498 28class AliEveEMCALSModuleData;
345a46b0 29class TClonesArray;
345a46b0 30class TGedFrame;
31class TEveBoxSet;
32class TEveUtil;
c3e34498 33
34class AliEveEMCALData : public TObject, public TEveRefCnt
35{
36 public:
37 AliEveEMCALData();
38 AliEveEMCALData(AliRunLoader* rl, TGeoNode* node, TGeoHMatrix* m);
39 ~AliEveEMCALData();
40
345a46b0 41 void SetTree(TTree* const tree);
42 void SetESD(AliESDEvent* const esd);
43 void SetNode(TGeoNode* const node);
44 void InitEMCALGeom(AliRunLoader* const rl);
c3e34498 45 void GetGeomInfo(Int_t id, Int_t &iSupMod, Double_t& x, Double_t& y, Double_t& z);
46
47 void CreateAllSModules();
48 void CreateSModule(Int_t sm);
49 void DropAllSModules();
50 void DeleteSuperModules();
51
345a46b0 52 void LoadHits(TTree* const t);
c3e34498 53 void LoadDigits(TTree* t);
345a46b0 54 void LoadRecPoints(TTree* const t);
55 void LoadHitsFromEMCALLoader(AliEMCALLoader* const emcl);
56 void LoadDigitsFromEMCALLoader(AliEMCALLoader* const emcl);
57 void LoadRecPointsFromEMCALLoader(AliEMCALLoader* const emcl);
c3e34498 58 void LoadDigitsFromESD();
59 void LoadRecPointsFromESD();
345a46b0 60 void LoadRaw() const;
c3e34498 61
62 AliEveEMCALSModuleData* GetSModuleData(Int_t sm);
345a46b0 63 TEvePointSet* GetPointSetData() const {return fPoint;};
c3e34498 64
65 protected:
66 AliEMCAL* fEmcal; // EMCal data member
67 AliEMCALGeometry* fGeom; // Data member to set/call EMCAL geometry
a312477b 68 TGeoNode* fNode; // Node for bbox definition
c3e34498 69 TGeoHMatrix* fHMatrix; // matrix for local to global transformation
a312477b 70 TTree* fTree; // Tree
71 AliESDEvent* fESD; // Esd
c3e34498 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
a312477b 80 TEvePointSet* fPoint; // TEvePointSet for hits
c3e34498 81
82 private:
83 AliEveEMCALData(const AliEveEMCALData &edata);
345a46b0 84 AliEveEMCALData& operator=(const AliEveEMCALData &edata); // Not implemented
c3e34498 85
86 ClassDef(AliEveEMCALData, 0); // Base class for TRD hits visualisation
87};
88
89#endif