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