fix TRD digits display
[u/mrichter/AliRoot.git] / EVE / EveDet / AliEveTRDData.h
CommitLineData
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 31class AliEveTRDChamber;
fd31e9de 32class AliEveTRDHits : public TEvePointSet
33{
fd31e9de 34public:
a4197d2e 35 AliEveTRDHits();
6983e87a 36 ~AliEveTRDHits();
fd31e9de 37
38 void PointSelected(Int_t n);
39
fd31e9de 40
4b456ebb 41private:
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 49class AliTRDdigitsManager;
fd31e9de 50class AliEveTRDDigits : public TEveQuadSet
51{
5998b164 52 //friend class AliEveTRDDigitsEditor;
d810d0de 53
fd31e9de 54public:
55 AliEveTRDDigits(AliEveTRDChamber *p);
6983e87a 56 ~AliEveTRDDigits();
fd31e9de 57 void SetData(AliTRDdigitsManager *digits);
d810d0de 58
fd31e9de 59protected:
60 AliEveTRDChamber *fParent;
d810d0de 61
fd31e9de 62private:
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
71class AliEveTRDClusters : public AliEveTRDHits
fd31e9de 72{
fd31e9de 73public:
a4197d2e 74 AliEveTRDClusters();
d810d0de 75
527ceac3 76 void Load(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 80private:
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 89class AliTRDseedV1;
90class AliEveTRDTracklet : public TEveLine
fd31e9de 91{
fd31e9de 92public:
a4197d2e 93 AliEveTRDTracklet(AliTRDseedV1 *trklt);
98b9b8b2 94 ~AliEveTRDTracklet();
a4197d2e 95 AliEveTRDClusters* GetClusters() const {return fClusters;}
527ceac3 96 inline void Load(Char_t *what="all") const; // *MENU*
57d55fae 97 void Print(Option_t *o="") const; // *MENU*
a879a24a 98
6983e87a 99private:
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};
527ceac3 107void AliEveTRDTracklet::Load(Char_t *what) const
108{
109 if(fClusters) fClusters->Load(what);
110}
6983e87a 111
d810d0de 112
baee73d3 113class AliTrackPoint;
a4197d2e 114class AliTRDtrackV1;
dfe8369a 115class AliRieman;
a4197d2e 116class AliEveTRDTrack : public TEveLine
6983e87a 117{
118public:
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*
527ceac3 135 void Load(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 138private:
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
153class AliTRDtrackletMCM;
154class AliTRDtrackletWord;
155class AliEveTRDTrackletOnline : public TEveLine
156{
157public:
158 AliEveTRDTrackletOnline(AliTRDtrackletMCM *tracklet);
159 AliEveTRDTrackletOnline(AliTRDtrackletWord *tracklet);
160 ~AliEveTRDTrackletOnline();
161
a879a24a 162 void ShowMCM(Option_t *opt = "RHT") const; // *MENU*
163private:
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
175class AliTRDmcmSim;
176class 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