]>
Commit | Line | Data |
---|---|---|
345a46b0 | 1 | // |
c3e34498 | 2 | // Visualization of an EMCAL super module. |
3 | // | |
4 | // Author: Magali Estienne (magali.estienne@cern.ch) | |
5 | // June 30 2008 | |
345a46b0 | 6 | // |
c3e34498 | 7 | |
8 | #ifndef ALIEVEEMCALSMODULE_H | |
9 | #define ALIEVEEMCALSMODULE_H | |
10 | ||
345a46b0 | 11 | #include "AliEveEMCALSModuleData.h" |
c3e34498 | 12 | |
13 | class AliEveEMCALData; | |
345a46b0 | 14 | class TEveQuadSet; |
15 | class TEveBoxSet; | |
16 | class TEveFrameBox; | |
17 | class TEvePointSet; | |
18 | class TClonesArray; | |
19 | class TTree; | |
20 | class TGedFrame; | |
21 | class TGeoNode; | |
22 | class TGeoMatrix; | |
23 | class AliRun; | |
24 | class AliEMCALGeometry; | |
25 | class AliESDEvent; | |
26 | class AliEMCAL; | |
27 | ||
28 | class TEveTrans; | |
29 | class TStyle; | |
30 | class TBuffer3DTypes; | |
31 | class TBuffer3D; | |
32 | class TVirtualPad; | |
33 | class TVirtualViewer3D; | |
34 | class AliEveEMCALData; | |
35 | class AliEMCALHit; | |
36 | class AliEMCALDigit; | |
c3e34498 | 37 | |
38 | class AliEveEMCALSModule : public TEveElement, | |
39 | public TNamed, | |
ebedba59 | 40 | public TAtt3D |
c3e34498 | 41 | { |
42 | ||
43 | public: | |
44 | AliEveEMCALSModule(Int_t smodid, const Text_t* n, const Text_t* t); | |
45 | ~AliEveEMCALSModule(); | |
46 | ||
345a46b0 | 47 | void DropData() const; |
c3e34498 | 48 | |
c3e34498 | 49 | virtual Bool_t CanEditMainColor() const { return kTRUE; } |
50 | ||
345a46b0 | 51 | void SetDataSource(AliEveEMCALData * const data); |
c3e34498 | 52 | void SetSModuleID(Int_t id); |
ef3891ac | 53 | void SetFrameColor(Color_t col) { fFrameColor = col; }; |
345a46b0 | 54 | const AliEveEMCALData* GetData() const { return fEMCALData; }; |
c3e34498 | 55 | AliEveEMCALSModuleData* GetSModuleData() const; |
56 | Int_t GetID() const { return fSModuleID; }; | |
c3e34498 | 57 | void SetClusterSize(Int_t size); |
58 | void SetHitSize(Int_t size); | |
59 | ||
60 | void UpdateQuads(); | |
61 | ||
62 | protected: | |
345a46b0 | 63 | AliEveEMCALData *fEMCALData; // Data for the current event |
a312477b | 64 | AliEveEMCALSModuleData *fEMCALSModuleData; // Data of Super Module (SM) |
65 | Color_t fFrameColor; // Main coloring | |
a312477b | 66 | Int_t fSModuleID; // Id of super module, 0 to 11 |
67 | TEveQuadSet *fQuadSet; // Digit container | |
68 | TEveQuadSet *fQuadSet2; // Cluster container | |
69 | TEvePointSet *fPointSet; // Hit container | |
a312477b | 70 | Int_t fClusterSize; // Cluster point size |
71 | Int_t fHitSize; // Hit point size | |
a312477b | 72 | Int_t fDebug; // Debug option |
73 | ||
ebedba59 | 74 | static void InitStatics(AliEveEMCALSModuleData* md); |
a312477b | 75 | |
345a46b0 | 76 | static Bool_t fgStaticInit; // Flag for static variable initialization. |
ebedba59 | 77 | static Float_t fgSMBigBBox[3]; // Bounding Box of full SM |
78 | static Float_t fgSMSmallBBox[3]; // Bounding Box of half SM | |
79 | static TEveFrameBox *fgFrameBigBox; // Frame box per full SM | |
80 | static TEveFrameBox *fgFrameSmallBox; // Frame box per half SM | |
81 | static TEveRGBAPalette *fgFrameDigPalette; // Signal to color mapping for EMCAL digits | |
82 | static TEveRGBAPalette *fgFrameCluPalette; // Signal to color mapping for EMCAL clusters | |
c3e34498 | 83 | |
84 | void SetupColor(Int_t val, UChar_t* pix) const; | |
85 | ||
c3e34498 | 86 | private: |
345a46b0 | 87 | AliEveEMCALSModule(const AliEveEMCALSModule &esm); |
c3e34498 | 88 | AliEveEMCALSModule& operator=(const AliEveEMCALSModule&); // Not implemented |
89 | ||
90 | ClassDef(AliEveEMCALSModule, 0); // Base class for TRD hits visualisation | |
91 | }; | |
92 | ||
93 | #endif |