]>
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 | { | |
52 | friend class AliEveTRDDigitsEditor; | |
d810d0de | 53 | |
fd31e9de | 54 | public: |
55 | AliEveTRDDigits(AliEveTRDChamber *p); | |
6983e87a | 56 | ~AliEveTRDDigits(); |
d810d0de | 57 | |
fd31e9de | 58 | void ComputeRepresentation(); |
9330a7aa | 59 | const AliTRDarrayADC* GetData() const {return fData.HasData() ? &fData : 0x0;} |
6e0bc469 | 60 | //void Paint(Option_t *opt=""); |
fd31e9de | 61 | void Reset(); |
62 | void SetData(AliTRDdigitsManager *digits); | |
d810d0de | 63 | |
fd31e9de | 64 | protected: |
65 | AliEveTRDChamber *fParent; | |
d810d0de | 66 | |
fd31e9de | 67 | private: |
a15e6d7d | 68 | TEveBoxSet fBoxes; // Boxset for didigit representation. |
9330a7aa | 69 | AliTRDarrayADC fData; // Raw-data array. |
d810d0de | 70 | |
4b456ebb | 71 | AliEveTRDDigits(const AliEveTRDDigits&); // Not implemented |
72 | AliEveTRDDigits& operator=(const AliEveTRDDigits&); // Not implemented | |
73 | ||
74 | ClassDef(AliEveTRDDigits, 0); // Digits visualisation for TRD | |
fd31e9de | 75 | }; |
d810d0de | 76 | |
51346b82 | 77 | |
6983e87a | 78 | |
79 | class AliEveTRDClusters : public AliEveTRDHits | |
fd31e9de | 80 | { |
fd31e9de | 81 | public: |
a4197d2e | 82 | AliEveTRDClusters(); |
d810d0de | 83 | |
b3d20a1c | 84 | void Load(Char_t *what="all", Bool_t stkwise=kTRUE) const; // *MENU* |
6983e87a | 85 | void PointSelected(Int_t n); |
57d55fae | 86 | void Print(Option_t *o = "") const; // *MENU* |
b3d20a1c | 87 | |
4b456ebb | 88 | private: |
6983e87a | 89 | AliEveTRDClusters(const AliEveTRDClusters&); // Not implemented |
90 | AliEveTRDClusters& operator=(const AliEveTRDClusters&); // Not implemented | |
4b456ebb | 91 | |
6983e87a | 92 | ClassDef(AliEveTRDClusters, 0); // Base class for TRD clusters visualisation |
fd31e9de | 93 | }; |
d810d0de | 94 | |
d810d0de | 95 | |
6983e87a | 96 | |
a4197d2e | 97 | class AliTRDseedV1; |
98 | class AliEveTRDTracklet : public TEveLine | |
fd31e9de | 99 | { |
fd31e9de | 100 | public: |
a4197d2e | 101 | AliEveTRDTracklet(AliTRDseedV1 *trklt); |
98b9b8b2 | 102 | ~AliEveTRDTracklet(); |
a4197d2e | 103 | AliEveTRDClusters* GetClusters() const {return fClusters;} |
57d55fae | 104 | void Print(Option_t *o="") const; // *MENU* |
a879a24a | 105 | |
6983e87a | 106 | private: |
a4197d2e | 107 | AliEveTRDClusters *fClusters; // clusters |
108 | ||
6983e87a | 109 | AliEveTRDTracklet(const AliEveTRDTracklet&); // Not implemented |
110 | AliEveTRDTracklet& operator=(const AliEveTRDTracklet&); // Not implemented | |
111 | ||
112 | ClassDef(AliEveTRDTracklet, 0); // TRD tracklet visualisation | |
113 | }; | |
114 | ||
d810d0de | 115 | |
baee73d3 | 116 | class AliTrackPoint; |
a4197d2e | 117 | class AliTRDtrackV1; |
dfe8369a | 118 | class AliRieman; |
a4197d2e | 119 | class AliEveTRDTrack : public TEveLine |
6983e87a | 120 | { |
121 | public: | |
baee73d3 | 122 | enum AliEveTRDTrackState{ |
123 | kSource = 0 | |
124 | ,kPID = 1 | |
125 | ,kTrackCosmics = 2 | |
126 | ,kTrackModel = 3 | |
e94beec4 | 127 | }; |
128 | enum AliEveTRDTrackModel{ | |
baee73d3 | 129 | kRieman = 0 |
130 | ,kKalman = 1 | |
e94beec4 | 131 | }; |
132 | ||
133 | ||
a4197d2e | 134 | AliEveTRDTrack(AliTRDtrackV1 *trk); |
baee73d3 | 135 | virtual ~AliEveTRDTrack(); |
136 | //AliEveTRDTracklet* GetTracklet(Int_t plane) const {return plane <6 && plane >= 0 ? fTracklet[plane] : 0x0;} | |
14eef4aa | 137 | void Print(Option_t *opt="a") const; // *MENU* |
baee73d3 | 138 | void SetStatus(UChar_t s); |
139 | void SetESDstatus(ULong_t stat) {fESDStatus = stat;} | |
4b456ebb | 140 | private: |
6983e87a | 141 | AliEveTRDTrack(const AliEveTRDTrack&); // Not implemented |
142 | AliEveTRDTrack& operator=(const AliEveTRDTrack&); // Not implemented | |
4b456ebb | 143 | |
baee73d3 | 144 | UChar_t fTrackState; // bit map for the track drawing state |
145 | ULong_t fESDStatus; // ESD status bit for this track | |
146 | Float_t fAlpha; // sector angle for this track | |
dfe8369a | 147 | AliTrackPoint *fPoints; // track crossing points |
148 | AliRieman *fRim; // rieman fitter | |
baee73d3 | 149 | ClassDef(AliEveTRDTrack, 0); // TRD track visualisation |
fd31e9de | 150 | }; |
d810d0de | 151 | |
6983e87a | 152 | |
a879a24a | 153 | #include "TEveElement.h" |
154 | ||
155 | class AliTRDtrackletMCM; | |
156 | class AliTRDtrackletWord; | |
157 | class AliEveTRDTrackletOnline : public TEveLine | |
158 | { | |
159 | public: | |
160 | AliEveTRDTrackletOnline(AliTRDtrackletMCM *tracklet); | |
161 | AliEveTRDTrackletOnline(AliTRDtrackletWord *tracklet); | |
162 | ~AliEveTRDTrackletOnline(); | |
163 | ||
164 | // void Print(Option_t *o="") const; // *MENU* | |
165 | void ShowMCM(Option_t *opt = "RHT") const; // *MENU* | |
166 | private: | |
167 | Int_t fDetector; | |
168 | Int_t fROB; | |
169 | Int_t fMCM; | |
170 | ||
171 | AliEveTRDTrackletOnline(const AliEveTRDTrackletOnline&); // Not implemented | |
172 | AliEveTRDTrackletOnline& operator=(const AliEveTRDTrackletOnline&); // Not implemented | |
173 | ||
174 | ClassDef(AliEveTRDTrackletOnline, 0); // TRD tracklet visualisation | |
175 | }; | |
176 | ||
177 | ||
178 | class AliTRDmcmSim; | |
179 | class AliEveTRDmcm : public TEveElement, public TNamed | |
180 | { | |
181 | public: | |
182 | AliEveTRDmcm(); | |
183 | ~AliEveTRDmcm(); | |
184 | ||
185 | Bool_t Init(Int_t det, Int_t rob, Int_t mcm); // *MENU* | |
186 | Bool_t LoadDigits(); // *MENU* | |
187 | Bool_t Filter(); // *MENU* | |
188 | Bool_t Tracklet(); // *MENU* | |
189 | void Draw(Option_t* option = "FHT"); // *MENU* | |
190 | Bool_t AssignPointer(const char* ptrname = "mcmtest"); // *MENU* | |
191 | ||
192 | protected: | |
193 | AliTRDmcmSim *fMCM; | |
194 | ||
195 | AliEveTRDmcm(const AliEveTRDmcm&); // not implemented | |
196 | AliEveTRDmcm& operator=(const AliEveTRDmcm&); // not implemented | |
197 | ||
198 | ClassDef(AliEveTRDmcm, 0); | |
199 | }; | |
200 | ||
d810d0de | 201 | #endif |