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 /////////////////////////////////////////////////////////////////////////
13 #ifndef REVE_RenderElement_H
14 #include <Reve/RenderElement.h>
17 #ifndef ALIEVE_TRDModule_H
18 #include "TRDModule.h"
24 class AliTRDdataArrayI;
25 class AliTRDdigitsManager;
35 class TRDChamber : public Reve::RenderElement, public TRDModule
37 friend class TRDDigits;
40 TRDChamber(const Int_t det=0);
41 virtual ~TRDChamber() {}
43 TRDChamber(const TRDChamber&);
44 TRDChamber& operator=(const TRDChamber&);
46 void AddHit(AliTRDhit *hit);
47 void LoadClusters(TObjArray *cs);
48 void LoadDigits(AliTRDdigitsManager *digits);
49 void LoadTracklets(TObjArray *ts);
50 void Paint(Option_t* option="");
52 void SetGeometry(AliTRDgeometry *geo);
55 TRDDigits *fDigits; // digits representation
56 TRDHits *fHits; // hits representation
57 TRDHits *fRecPoints;// cluster representation
58 std::vector<Reve::Track*> *fTracklets; // mcm tracklets
60 // data representation section
61 Int_t rowMax; // number of rows for this pad plane
62 Int_t colMax; // number of columns for this pad plane
63 Int_t timeMax; // number of timebins
64 Float_t samplingFrequency; // sampling frequency
65 Float_t fX0; // radial distance from vertex to the chamber
66 Int_t fPla; // detector plane
67 AliTRDpadPlane *fPadPlane; // pad plane object
68 AliTRDgeometry *fGeo; // TRD geometry
70 ClassDef(TRDChamber,1) // Holder for TRD chamber data
74 class TRDNode : public Reve::RenderElementListBase, public TRDModule
77 TRDNode(const char *typ, const Int_t det=0);
78 void Paint(Option_t* option="");
81 void Collapse(); // *MENU*
82 void Expand(); // *MENU*
83 void EnableListElements(); // *MENU*
84 void DisableListElements(); // *MENU*
88 List_i begin(){return fChildren.begin();}
89 List_i end(){return fChildren.end();}