]>
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 | ||
13 | #ifndef REVE_RenderElement_H | |
14 | #include <Reve/RenderElement.h> | |
15 | #endif | |
16 | ||
17 | #ifndef ALIEVE_TRDModule_H | |
18 | #include "TRDModule.h" | |
19 | #endif | |
20 | ||
21 | class AliTRDpadPlane; | |
22 | class AliTRDgeometry; | |
23 | class AliTRDhit; | |
24 | class AliTRDdataArrayI; | |
25 | class TObjArray; | |
26 | ||
27 | namespace Reve { | |
28 | class Track; | |
29 | } | |
30 | namespace Alieve { | |
31 | class TRDHits; | |
32 | class TRDDigits; | |
33 | ||
34 | class TRDChamber : public Reve::RenderElement, public TRDModule | |
35 | { | |
36 | friend class TRDDigits; | |
37 | public: | |
38 | ||
39 | TRDChamber(const Int_t det=0); | |
40 | virtual ~TRDChamber() {} | |
41 | ||
42 | TRDChamber(const TRDChamber&); | |
43 | TRDChamber& operator=(const TRDChamber&); | |
44 | void Init(); | |
45 | ||
46 | void AddHit(AliTRDhit *hit); | |
47 | void LoadClusters(TObjArray *cs); | |
48 | void LoadDigits(AliTRDdataArrayI *digits); | |
49 | void LoadTracklets(TObjArray *ts); | |
50 | void Paint(Option_t* option=""); | |
51 | void Reset(); | |
52 | ||
53 | protected: | |
54 | TRDDigits *fDigits; // digits representation | |
55 | TRDHits *fHits; // hits representation | |
56 | TRDHits *fRecPoints;// cluster representation | |
57 | std::vector<Reve::Track*> *fTracklets; // mcm tracklets | |
58 | ||
59 | // data representation section | |
60 | Int_t rowMax; // number of rows for this pad plane | |
61 | Int_t colMax; // number of columns for this pad plane | |
62 | Int_t timeMax; // number of timebins | |
63 | Float_t samplingFrequency; // sampling frequency | |
64 | Float_t fX0; // radial distance from vertex to the chamber | |
65 | Int_t fPla; // detector plane | |
66 | AliTRDpadPlane *fPadPlane; // pad plane object | |
67 | AliTRDgeometry *fGeo; // TRD geometry | |
68 | ||
69 | ClassDef(TRDChamber,1) // Holder for TRD chamber data | |
70 | }; | |
71 | ||
72 | ||
73 | class TRDNode : public Reve::RenderElementListBase, public TRDModule | |
74 | { | |
75 | public: | |
76 | TRDNode(const char *typ, const Int_t det=0); | |
77 | void Paint(Option_t* option=""); | |
78 | void Reset(); | |
79 | ||
80 | void Colapse(); // *MENU* | |
81 | void Expand(); // *MENU* | |
82 | void EnableListElements(); // *MENU* | |
83 | void DisableListElements(); // *MENU* | |
84 | void UpdateLeaves(); | |
85 | void UpdateNode(); | |
86 | ||
87 | lpRE_i begin(){return fChildren.begin();} | |
88 | lpRE_i end(){return fChildren.end();} | |
89 | ||
90 | ClassDef(TRDNode, 1) | |
91 | }; | |
92 | } | |
93 | ||
94 | #endif |