]>
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); | |
49 | void LoadClusters(TObjArray *cs); | |
14217b5f | 50 | void LoadDigits(AliTRDdigitsManager *digits); |
a282bf09 | 51 | void LoadTracklets(TObjArray *ts); |
52 | void Paint(Option_t* option=""); | |
53 | void Reset(); | |
14217b5f | 54 | void SetGeometry(AliTRDgeometry *geo); |
a282bf09 | 55 | |
56 | protected: | |
57 | TRDDigits *fDigits; // digits representation | |
58 | TRDHits *fHits; // hits representation | |
59 | TRDHits *fRecPoints;// cluster representation | |
60 | std::vector<Reve::Track*> *fTracklets; // mcm tracklets | |
61 | ||
62 | // data representation section | |
63 | Int_t rowMax; // number of rows for this pad plane | |
64 | Int_t colMax; // number of columns for this pad plane | |
65 | Int_t timeMax; // number of timebins | |
66 | Float_t samplingFrequency; // sampling frequency | |
67 | Float_t fX0; // radial distance from vertex to the chamber | |
68 | Int_t fPla; // detector plane | |
69 | AliTRDpadPlane *fPadPlane; // pad plane object | |
70 | AliTRDgeometry *fGeo; // TRD geometry | |
71 | ||
72 | ClassDef(TRDChamber,1) // Holder for TRD chamber data | |
73 | }; | |
74 | ||
75 | ||
2caed564 | 76 | class TRDNode : public Reve::RenderElement, public TRDModule |
a282bf09 | 77 | { |
78 | public: | |
f5790a4c | 79 | TRDNode(const char *typ, Int_t det=0); |
a282bf09 | 80 | void Paint(Option_t* option=""); |
81 | void Reset(); | |
82 | ||
14217b5f | 83 | void Collapse(); // *MENU* |
a282bf09 | 84 | void Expand(); // *MENU* |
85 | void EnableListElements(); // *MENU* | |
86 | void DisableListElements(); // *MENU* | |
87 | void UpdateLeaves(); | |
88 | void UpdateNode(); | |
89 | ||
e6ac3950 | 90 | List_i begin(){return fChildren.begin();} |
91 | List_i end(){return fChildren.end();} | |
a282bf09 | 92 | |
93 | ClassDef(TRDNode, 1) | |
94 | }; | |
95 | } | |
96 | ||
97 | #endif |