]>
Commit | Line | Data |
---|---|---|
a282bf09 | 1 | #ifndef ALIEVE_TRDModuleImp_H |
2 | #define ALIEVE_TRDModuleImp_H | |
3 | ||
4 | ///////////////////////////////////////////////////////////////////////// | |
5 | // | |
6 | // Implementation of TRDModule: | |
7 | // - TRDChamber - Data holder | |
8 | // - TRDNode - Node structure | |
9 | // | |
10 | // by A.Bercuci (A.Bercuci@gsi.de) Fri Oct 27 2006 | |
11 | ///////////////////////////////////////////////////////////////////////// | |
12 | ||
0b28fd57 | 13 | #include <vector> |
14 | ||
a282bf09 | 15 | #ifndef REVE_RenderElement_H |
16 | #include <Reve/RenderElement.h> | |
17 | #endif | |
18 | ||
19 | #ifndef ALIEVE_TRDModule_H | |
20 | #include "TRDModule.h" | |
21 | #endif | |
22 | ||
23 | class AliTRDpadPlane; | |
24 | class AliTRDgeometry; | |
25 | class AliTRDhit; | |
26 | class AliTRDdataArrayI; | |
14217b5f | 27 | class AliTRDdigitsManager; |
a282bf09 | 28 | class TObjArray; |
29 | ||
30 | namespace Reve { | |
31 | class Track; | |
32 | } | |
33 | namespace Alieve { | |
34 | class TRDHits; | |
35 | class TRDDigits; | |
36 | ||
37 | class TRDChamber : public Reve::RenderElement, public TRDModule | |
38 | { | |
39 | friend class TRDDigits; | |
40 | public: | |
41 | ||
f5790a4c | 42 | TRDChamber(Int_t det=0); |
a282bf09 | 43 | virtual ~TRDChamber() {} |
44 | ||
45 | TRDChamber(const TRDChamber&); | |
46 | TRDChamber& operator=(const TRDChamber&); | |
a282bf09 | 47 | |
48 | void AddHit(AliTRDhit *hit); | |
edf0c4a0 | 49 | Int_t GetRowMax() const {return rowMax;} |
50 | Int_t GetColMax() const {return colMax;} | |
51 | Int_t GetTimeMax() const {return timeMax;} | |
52 | Int_t GetSM() const; | |
53 | Int_t GetSTK() const; | |
54 | Int_t GetPlane() const {return fPla;} | |
a282bf09 | 55 | void LoadClusters(TObjArray *cs); |
14217b5f | 56 | void LoadDigits(AliTRDdigitsManager *digits); |
a282bf09 | 57 | void LoadTracklets(TObjArray *ts); |
58 | void Paint(Option_t* option=""); | |
59 | void Reset(); | |
14217b5f | 60 | void SetGeometry(AliTRDgeometry *geo); |
a282bf09 | 61 | |
62 | protected: | |
63 | TRDDigits *fDigits; // digits representation | |
64 | TRDHits *fHits; // hits representation | |
65 | TRDHits *fRecPoints;// cluster representation | |
66 | std::vector<Reve::Track*> *fTracklets; // mcm tracklets | |
67 | ||
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 | |
77 | ||
78 | ClassDef(TRDChamber,1) // Holder for TRD chamber data | |
79 | }; | |
80 | ||
81 | ||
2caed564 | 82 | class TRDNode : public Reve::RenderElement, public TRDModule |
a282bf09 | 83 | { |
84 | public: | |
f5790a4c | 85 | TRDNode(const char *typ, Int_t det=0); |
a282bf09 | 86 | void Paint(Option_t* option=""); |
87 | void Reset(); | |
88 | ||
14217b5f | 89 | void Collapse(); // *MENU* |
a282bf09 | 90 | void Expand(); // *MENU* |
91 | void EnableListElements(); // *MENU* | |
92 | void DisableListElements(); // *MENU* | |
93 | void UpdateLeaves(); | |
94 | void UpdateNode(); | |
95 | ||
e6ac3950 | 96 | List_i begin(){return fChildren.begin();} |
97 | List_i end(){return fChildren.end();} | |
a282bf09 | 98 | |
99 | ClassDef(TRDNode, 1) | |
100 | }; | |
101 | } | |
102 | ||
103 | #endif |