]>
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 * | |
51346b82 | 7 | * full copyright notice. * |
d810d0de | 8 | **************************************************************************/ |
fd31e9de | 9 | |
a15e6d7d | 10 | #ifndef AliEveTRDModuleImp_H |
11 | #define AliEveTRDModuleImp_H | |
a282bf09 | 12 | |
13 | ///////////////////////////////////////////////////////////////////////// | |
14 | // | |
d810d0de | 15 | // Implementation of AliEveTRDModule: |
16 | // - AliEveTRDChamber - Data holder | |
51346b82 | 17 | // - AliEveTRDNode - Node structure |
a282bf09 | 18 | // |
19 | // by A.Bercuci (A.Bercuci@gsi.de) Fri Oct 27 2006 | |
20 | ///////////////////////////////////////////////////////////////////////// | |
21 | ||
0b28fd57 | 22 | #include <vector> |
23 | ||
84aff7a4 | 24 | #include <TEveElement.h> |
a282bf09 | 25 | |
d810d0de | 26 | #include "AliEveTRDModule.h" |
a282bf09 | 27 | |
a879a24a | 28 | class TTree; |
a282bf09 | 29 | class TObjArray; |
6983e87a | 30 | class TClonesArray; |
a282bf09 | 31 | |
84aff7a4 | 32 | class TEveTrack; |
6983e87a | 33 | class TEveGeoTopNode; |
34 | ||
35 | class AliTRDgeometry; | |
36 | class AliTRDdataArrayI; | |
37 | class AliTRDdigitsManager; | |
84aff7a4 | 38 | |
fd31e9de | 39 | class AliEveTRDHits; |
40 | class AliEveTRDDigits; | |
6bbacce9 | 41 | class AliTRDtrackingChamber; |
fd31e9de | 42 | class AliEveTRDChamber : public TEveElement, public AliEveTRDModule |
43 | { | |
44 | friend class AliEveTRDDigits; | |
45 | ||
fd31e9de | 46 | public: |
47 | ||
6983e87a | 48 | AliEveTRDChamber(Int_t det=-1); |
fd31e9de | 49 | virtual ~AliEveTRDChamber() {} |
50 | ||
6983e87a | 51 | Int_t GetNrows() const {return fNrows;} |
52 | Int_t GetNcols() const {return fNcols;} | |
53 | Int_t GetNtime() const {return fNtime;} | |
fd31e9de | 54 | |
6983e87a | 55 | void LoadHits(TClonesArray *hits, Int_t &idx); |
fd31e9de | 56 | void LoadClusters(TObjArray *cs); |
6bbacce9 | 57 | void LoadClusters(AliTRDtrackingChamber *tc); |
fd31e9de | 58 | void LoadDigits(AliTRDdigitsManager *digits); |
a879a24a | 59 | void LoadTracklets(TTree *trklTree); |
6983e87a | 60 | |
fd31e9de | 61 | void Paint(Option_t* option=""); |
62 | void Reset(); | |
6983e87a | 63 | |
fd31e9de | 64 | void SetGeometry(AliTRDgeometry *geo); |
6983e87a | 65 | void SetNtime(Int_t nt) {fNtime = nt;} |
fd31e9de | 66 | |
67 | protected: | |
6983e87a | 68 | AliEveTRDDigits *fDigits; // digits representation |
69 | AliEveTRDHits *fHits; // hits representation | |
70 | AliEveTRDHits *fRecPoints; // cluster representation | |
a879a24a | 71 | TClonesArray *fTracklets; // mcm tracklets |
6983e87a | 72 | AliTRDgeometry *fGeo; // TRD geometry |
73 | TEveGeoTopNode *fShape; // rendarable geometry of the chamber | |
fd31e9de | 74 | // data representation section |
6983e87a | 75 | Int_t fNrows; // number of rows for this pad plane |
76 | Int_t fNcols; // number of columns for this pad plane | |
77 | Int_t fNtime; // number of timebins | |
fd31e9de | 78 | |
4b456ebb | 79 | private: |
80 | AliEveTRDChamber(const AliEveTRDChamber&); // Not implemented. | |
81 | AliEveTRDChamber& operator=(const AliEveTRDChamber&); // Not implemented. | |
82 | ||
83 | ClassDef(AliEveTRDChamber, 0); // Holder for TRD chamber data | |
fd31e9de | 84 | }; |
85 | ||
86 | ||
87 | class AliEveTRDNode : public TEveElement, public AliEveTRDModule | |
88 | { | |
89 | public: | |
90 | AliEveTRDNode(const char *typ, Int_t det=0); | |
91 | ||
92 | void Paint(Option_t* option=""); | |
93 | void Reset(); | |
94 | ||
95 | void Collapse(); // *MENU* | |
96 | void Expand(); // *MENU* | |
97 | void EnableListElements(); // *MENU* | |
98 | void DisableListElements(); // *MENU* | |
99 | void UpdateLeaves(); | |
100 | void UpdateNode(); | |
101 | ||
4b456ebb | 102 | List_i begin() { return fChildren.begin(); } |
103 | List_i end() { return fChildren.end(); } | |
fd31e9de | 104 | |
4b456ebb | 105 | ClassDef(AliEveTRDNode, 0); |
fd31e9de | 106 | }; |
107 | ||
a282bf09 | 108 | #endif |