]>
Commit | Line | Data |
---|---|---|
d810d0de | 1 | // $Id$ |
2 | // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007 | |
3 | ||
4 | /************************************************************************** | |
5 | * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. * | |
6 | * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for * | |
7 | * full copyright notice. * | |
8 | **************************************************************************/ | |
a282bf09 | 9 | #ifndef ALIEVE_TRDModuleImp_H |
10 | #define ALIEVE_TRDModuleImp_H | |
11 | ||
12 | ///////////////////////////////////////////////////////////////////////// | |
13 | // | |
d810d0de | 14 | // Implementation of AliEveTRDModule: |
15 | // - AliEveTRDChamber - Data holder | |
16 | // - AliEveTRDNode - Node structure | |
a282bf09 | 17 | // |
18 | // by A.Bercuci (A.Bercuci@gsi.de) Fri Oct 27 2006 | |
19 | ///////////////////////////////////////////////////////////////////////// | |
20 | ||
0b28fd57 | 21 | #include <vector> |
22 | ||
84aff7a4 | 23 | #include <TEveElement.h> |
a282bf09 | 24 | |
25 | #ifndef ALIEVE_TRDModule_H | |
d810d0de | 26 | #include "AliEveTRDModule.h" |
a282bf09 | 27 | #endif |
28 | ||
29 | class AliTRDpadPlane; | |
30 | class AliTRDgeometry; | |
31 | class AliTRDhit; | |
32 | class AliTRDdataArrayI; | |
14217b5f | 33 | class AliTRDdigitsManager; |
a282bf09 | 34 | class TObjArray; |
35 | ||
84aff7a4 | 36 | class TEveTrack; |
37 | ||
d810d0de | 38 | class AliEveTRDHits; |
39 | class AliEveTRDDigits; | |
a282bf09 | 40 | |
d810d0de | 41 | class AliEveTRDChamber : public TEveElement, public AliEveTRDModule |
a282bf09 | 42 | { |
d810d0de | 43 | friend class AliEveTRDDigits; |
a282bf09 | 44 | public: |
45 | ||
d810d0de | 46 | AliEveTRDChamber(Int_t det=0); |
47 | virtual ~AliEveTRDChamber() {} | |
a282bf09 | 48 | |
d810d0de | 49 | AliEveTRDChamber(const AliEveTRDChamber&); |
50 | AliEveTRDChamber& operator=(const AliEveTRDChamber&); | |
a282bf09 | 51 | |
52 | void AddHit(AliTRDhit *hit); | |
edf0c4a0 | 53 | Int_t GetRowMax() const {return rowMax;} |
54 | Int_t GetColMax() const {return colMax;} | |
55 | Int_t GetTimeMax() const {return timeMax;} | |
56 | Int_t GetSM() const; | |
57 | Int_t GetSTK() const; | |
58 | Int_t GetPlane() const {return fPla;} | |
a282bf09 | 59 | void LoadClusters(TObjArray *cs); |
14217b5f | 60 | void LoadDigits(AliTRDdigitsManager *digits); |
a282bf09 | 61 | void LoadTracklets(TObjArray *ts); |
62 | void Paint(Option_t* option=""); | |
63 | void Reset(); | |
14217b5f | 64 | void SetGeometry(AliTRDgeometry *geo); |
a282bf09 | 65 | |
66 | protected: | |
d810d0de | 67 | AliEveTRDDigits *fDigits; // digits representation |
68 | AliEveTRDHits *fHits; // hits representation | |
69 | AliEveTRDHits *fRecPoints;// cluster representation | |
84aff7a4 | 70 | std::vector<TEveTrack*> *fTracklets; // mcm tracklets |
a282bf09 | 71 | |
72 | // data representation section | |
73 | Int_t rowMax; // number of rows for this pad plane | |
74 | Int_t colMax; // number of columns for this pad plane | |
75 | Int_t timeMax; // number of timebins | |
76 | Float_t samplingFrequency; // sampling frequency | |
77 | Float_t fX0; // radial distance from vertex to the chamber | |
78 | Int_t fPla; // detector plane | |
79 | AliTRDpadPlane *fPadPlane; // pad plane object | |
80 | AliTRDgeometry *fGeo; // TRD geometry | |
81 | ||
d810d0de | 82 | ClassDef(AliEveTRDChamber,1) // Holder for TRD chamber data |
a282bf09 | 83 | }; |
84 | ||
85 | ||
d810d0de | 86 | class AliEveTRDNode : public TEveElement, public AliEveTRDModule |
a282bf09 | 87 | { |
88 | public: | |
d810d0de | 89 | AliEveTRDNode(const char *typ, Int_t det=0); |
a282bf09 | 90 | void Paint(Option_t* option=""); |
91 | void Reset(); | |
92 | ||
14217b5f | 93 | void Collapse(); // *MENU* |
a282bf09 | 94 | void Expand(); // *MENU* |
95 | void EnableListElements(); // *MENU* | |
96 | void DisableListElements(); // *MENU* | |
97 | void UpdateLeaves(); | |
98 | void UpdateNode(); | |
99 | ||
e6ac3950 | 100 | List_i begin(){return fChildren.begin();} |
101 | List_i end(){return fChildren.end();} | |
a282bf09 | 102 | |
d810d0de | 103 | ClassDef(AliEveTRDNode, 1) |
a282bf09 | 104 | }; |
a282bf09 | 105 | #endif |