]>
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 | **************************************************************************/ |
9 | ///////////////////////////////////////////////////////////////////////// | |
10 | // | |
11 | // - AliEVE implementation - | |
51346b82 | 12 | // Containers for visualisation of TRD data structures |
d810d0de | 13 | // - AliEveTRDHits - visualisation of MC Hits, Clusters (RecPoints) |
14 | // - AliEveTRDDigits - visualisation of TRD digits | |
15 | // | |
16 | // by A.Bercuci (A.Bercuci@gsi.de) Fri Oct 27 2006 | |
17 | /////////////////////////////////////////////////////////////////////// | |
18 | ||
a15e6d7d | 19 | #ifndef AliEveTRDData_H |
20 | #define AliEveTRDData_H | |
d810d0de | 21 | |
d810d0de | 22 | #include <TEveQuadSet.h> |
d810d0de | 23 | #include <TEveBoxSet.h> |
d810d0de | 24 | #include <TEvePointSet.h> |
6983e87a | 25 | #include <TEveLine.h> |
d810d0de | 26 | |
9330a7aa | 27 | #ifndef ALITRDARRAYADC_H |
28 | #include "AliTRDarrayADC.h" | |
9fb2a3ed | 29 | #endif |
d810d0de | 30 | |
fd31e9de | 31 | class AliEveTRDChamber; |
fd31e9de | 32 | class AliEveTRDHits : public TEvePointSet |
33 | { | |
fd31e9de | 34 | public: |
a4197d2e | 35 | AliEveTRDHits(); |
6983e87a | 36 | ~AliEveTRDHits(); |
fd31e9de | 37 | |
38 | void PointSelected(Int_t n); | |
39 | ||
fd31e9de | 40 | |
4b456ebb | 41 | private: |
42 | AliEveTRDHits(const AliEveTRDHits&); // Not implemented | |
43 | AliEveTRDHits& operator=(const AliEveTRDHits&); // Not implemented | |
44 | ||
45 | ClassDef(AliEveTRDHits, 0); // Base class for TRD hits visualisation | |
fd31e9de | 46 | }; |
47 | ||
48 | ||
6983e87a | 49 | class AliTRDdigitsManager; |
fd31e9de | 50 | class AliEveTRDDigits : public TEveQuadSet |
51 | { | |
5998b164 | 52 | //friend class AliEveTRDDigitsEditor; |
d810d0de | 53 | |
fd31e9de | 54 | public: |
55 | AliEveTRDDigits(AliEveTRDChamber *p); | |
6983e87a | 56 | ~AliEveTRDDigits(); |
fd31e9de | 57 | void SetData(AliTRDdigitsManager *digits); |
d810d0de | 58 | |
fd31e9de | 59 | protected: |
60 | AliEveTRDChamber *fParent; | |
d810d0de | 61 | |
fd31e9de | 62 | private: |
4b456ebb | 63 | AliEveTRDDigits(const AliEveTRDDigits&); // Not implemented |
64 | AliEveTRDDigits& operator=(const AliEveTRDDigits&); // Not implemented | |
65 | ||
66 | ClassDef(AliEveTRDDigits, 0); // Digits visualisation for TRD | |
fd31e9de | 67 | }; |
d810d0de | 68 | |
51346b82 | 69 | |
6983e87a | 70 | |
71 | class AliEveTRDClusters : public AliEveTRDHits | |
fd31e9de | 72 | { |
fd31e9de | 73 | public: |
a4197d2e | 74 | AliEveTRDClusters(); |
d810d0de | 75 | |
ea41d018 | 76 | void Load(const Char_t *what="all") const; // *MENU* |
6983e87a | 77 | void PointSelected(Int_t n); |
57d55fae | 78 | void Print(Option_t *o = "") const; // *MENU* |
b3d20a1c | 79 | |
4b456ebb | 80 | private: |
6983e87a | 81 | AliEveTRDClusters(const AliEveTRDClusters&); // Not implemented |
82 | AliEveTRDClusters& operator=(const AliEveTRDClusters&); // Not implemented | |
4b456ebb | 83 | |
6983e87a | 84 | ClassDef(AliEveTRDClusters, 0); // Base class for TRD clusters visualisation |
fd31e9de | 85 | }; |
d810d0de | 86 | |
d810d0de | 87 | |
6983e87a | 88 | |
a4197d2e | 89 | class AliTRDseedV1; |
90 | class AliEveTRDTracklet : public TEveLine | |
fd31e9de | 91 | { |
fd31e9de | 92 | public: |
a4197d2e | 93 | AliEveTRDTracklet(AliTRDseedV1 *trklt); |
98b9b8b2 | 94 | ~AliEveTRDTracklet(); |
a4197d2e | 95 | AliEveTRDClusters* GetClusters() const {return fClusters;} |
ea41d018 | 96 | inline void Load(const Char_t *what="all") const; // *MENU* |
57d55fae | 97 | void Print(Option_t *o="") const; // *MENU* |
a879a24a | 98 | |
6983e87a | 99 | private: |
a4197d2e | 100 | AliEveTRDClusters *fClusters; // clusters |
101 | ||
6983e87a | 102 | AliEveTRDTracklet(const AliEveTRDTracklet&); // Not implemented |
103 | AliEveTRDTracklet& operator=(const AliEveTRDTracklet&); // Not implemented | |
104 | ||
105 | ClassDef(AliEveTRDTracklet, 0); // TRD tracklet visualisation | |
106 | }; | |
ea41d018 | 107 | void AliEveTRDTracklet::Load(const Char_t *what) const |
527ceac3 | 108 | { |
109 | if(fClusters) fClusters->Load(what); | |
110 | } | |
6983e87a | 111 | |
d810d0de | 112 | |
baee73d3 | 113 | class AliTrackPoint; |
a4197d2e | 114 | class AliTRDtrackV1; |
dfe8369a | 115 | class AliRieman; |
a4197d2e | 116 | class AliEveTRDTrack : public TEveLine |
6983e87a | 117 | { |
118 | public: | |
baee73d3 | 119 | enum AliEveTRDTrackState{ |
120 | kSource = 0 | |
121 | ,kPID = 1 | |
122 | ,kTrackCosmics = 2 | |
123 | ,kTrackModel = 3 | |
e94beec4 | 124 | }; |
125 | enum AliEveTRDTrackModel{ | |
baee73d3 | 126 | kRieman = 0 |
127 | ,kKalman = 1 | |
e94beec4 | 128 | }; |
129 | ||
130 | ||
a4197d2e | 131 | AliEveTRDTrack(AliTRDtrackV1 *trk); |
baee73d3 | 132 | virtual ~AliEveTRDTrack(); |
004e0620 | 133 | //AliEveTRDTracklet* GetTracklet(Int_t plane) const {return plane <6 && plane >= 0 ? fTracklet[plane] : NULL;} |
14eef4aa | 134 | void Print(Option_t *opt="a") const; // *MENU* |
ea41d018 | 135 | void Load(const Char_t *what="all") const; // *MENU* |
004e0620 | 136 | void SetStatus(UChar_t s=0); // *MENU* |
baee73d3 | 137 | void SetESDstatus(ULong_t stat) {fESDStatus = stat;} |
4b456ebb | 138 | private: |
6983e87a | 139 | AliEveTRDTrack(const AliEveTRDTrack&); // Not implemented |
140 | AliEveTRDTrack& operator=(const AliEveTRDTrack&); // Not implemented | |
4b456ebb | 141 | |
baee73d3 | 142 | UChar_t fTrackState; // bit map for the track drawing state |
143 | ULong_t fESDStatus; // ESD status bit for this track | |
144 | Float_t fAlpha; // sector angle for this track | |
dfe8369a | 145 | AliTrackPoint *fPoints; // track crossing points |
146 | AliRieman *fRim; // rieman fitter | |
baee73d3 | 147 | ClassDef(AliEveTRDTrack, 0); // TRD track visualisation |
fd31e9de | 148 | }; |
d810d0de | 149 | |
6983e87a | 150 | |
a879a24a | 151 | #include "TEveElement.h" |
152 | ||
153 | class AliTRDtrackletMCM; | |
154 | class AliTRDtrackletWord; | |
155 | class AliEveTRDTrackletOnline : public TEveLine | |
156 | { | |
157 | public: | |
158 | AliEveTRDTrackletOnline(AliTRDtrackletMCM *tracklet); | |
159 | AliEveTRDTrackletOnline(AliTRDtrackletWord *tracklet); | |
160 | ~AliEveTRDTrackletOnline(); | |
161 | ||
a879a24a | 162 | void ShowMCM(Option_t *opt = "RHT") const; // *MENU* |
163 | private: | |
164 | Int_t fDetector; | |
165 | Int_t fROB; | |
166 | Int_t fMCM; | |
167 | ||
168 | AliEveTRDTrackletOnline(const AliEveTRDTrackletOnline&); // Not implemented | |
169 | AliEveTRDTrackletOnline& operator=(const AliEveTRDTrackletOnline&); // Not implemented | |
170 | ||
171 | ClassDef(AliEveTRDTrackletOnline, 0); // TRD tracklet visualisation | |
172 | }; | |
173 | ||
174 | ||
175 | class AliTRDmcmSim; | |
176 | class AliEveTRDmcm : public TEveElement, public TNamed | |
177 | { | |
178 | public: | |
179 | AliEveTRDmcm(); | |
180 | ~AliEveTRDmcm(); | |
181 | ||
182 | Bool_t Init(Int_t det, Int_t rob, Int_t mcm); // *MENU* | |
183 | Bool_t LoadDigits(); // *MENU* | |
184 | Bool_t Filter(); // *MENU* | |
185 | Bool_t Tracklet(); // *MENU* | |
186 | void Draw(Option_t* option = "FHT"); // *MENU* | |
187 | Bool_t AssignPointer(const char* ptrname = "mcmtest"); // *MENU* | |
188 | ||
189 | protected: | |
190 | AliTRDmcmSim *fMCM; | |
191 | ||
192 | AliEveTRDmcm(const AliEveTRDmcm&); // not implemented | |
193 | AliEveTRDmcm& operator=(const AliEveTRDmcm&); // not implemented | |
194 | ||
195 | ClassDef(AliEveTRDmcm, 0); | |
196 | }; | |
197 | ||
d810d0de | 198 | #endif |