1 #ifndef ALIEVE_TRDModuleImp_H
2 #define ALIEVE_TRDModuleImp_H
4 /////////////////////////////////////////////////////////////////////////
6 // Implementation of TRDModule:
7 // - TRDChamber - Data holder
8 // - TRDNode - Node structure
10 // by A.Bercuci (A.Bercuci@gsi.de) Fri Oct 27 2006
11 /////////////////////////////////////////////////////////////////////////
15 #ifndef REVE_RenderElement_H
16 #include <Reve/RenderElement.h>
19 #ifndef ALIEVE_TRDModule_H
20 #include "TRDModule.h"
26 class AliTRDdataArrayI;
27 class AliTRDdigitsManager;
37 class TRDChamber : public Reve::RenderElement, public TRDModule
39 friend class TRDDigits;
42 TRDChamber(Int_t det=0);
43 virtual ~TRDChamber() {}
45 TRDChamber(const TRDChamber&);
46 TRDChamber& operator=(const TRDChamber&);
48 void AddHit(AliTRDhit *hit);
49 Int_t GetRowMax() const {return rowMax;}
50 Int_t GetColMax() const {return colMax;}
51 Int_t GetTimeMax() const {return timeMax;}
54 Int_t GetPlane() const {return fPla;}
55 void LoadClusters(TObjArray *cs);
56 void LoadDigits(AliTRDdigitsManager *digits);
57 void LoadTracklets(TObjArray *ts);
58 void Paint(Option_t* option="");
60 void SetGeometry(AliTRDgeometry *geo);
63 TRDDigits *fDigits; // digits representation
64 TRDHits *fHits; // hits representation
65 TRDHits *fRecPoints;// cluster representation
66 std::vector<Reve::Track*> *fTracklets; // mcm tracklets
68 // data representation section
69 Int_t rowMax; // number of rows for this pad plane
70 Int_t colMax; // number of columns for this pad plane
71 Int_t timeMax; // number of timebins
72 Float_t samplingFrequency; // sampling frequency
73 Float_t fX0; // radial distance from vertex to the chamber
74 Int_t fPla; // detector plane
75 AliTRDpadPlane *fPadPlane; // pad plane object
76 AliTRDgeometry *fGeo; // TRD geometry
78 ClassDef(TRDChamber,1) // Holder for TRD chamber data
82 class TRDNode : public Reve::RenderElement, public TRDModule
85 TRDNode(const char *typ, Int_t det=0);
86 void Paint(Option_t* option="");
89 void Collapse(); // *MENU*
90 void Expand(); // *MENU*
91 void EnableListElements(); // *MENU*
92 void DisableListElements(); // *MENU*
96 List_i begin(){return fChildren.begin();}
97 List_i end(){return fChildren.end();}