]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/EveDet/AliEveEMCALSModule.h
-Fixed bug in offline buffer that deleted event object.
[u/mrichter/AliRoot.git] / EVE / EveDet / AliEveEMCALSModule.h
CommitLineData
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
13class AliEveEMCALData;
345a46b0 14class TEveQuadSet;
15class TEveBoxSet;
16class TEveFrameBox;
17class TEvePointSet;
18class TClonesArray;
19class TTree;
20class TGedFrame;
21class TGeoNode;
22class TGeoMatrix;
23class AliRun;
24class AliEMCALGeometry;
25class AliESDEvent;
26class AliEMCAL;
27
28class TEveTrans;
29class TStyle;
30class TBuffer3DTypes;
31class TBuffer3D;
32class TVirtualPad;
33class TVirtualViewer3D;
34class AliEveEMCALData;
35class AliEMCALHit;
36class AliEMCALDigit;
c3e34498 37
38class 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