2 // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
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 **************************************************************************/
9 /////////////////////////////////////////////////////////////////////////
11 // - AliEVE implementation -
12 // Containers for visualisation of TRD data structures
13 // - AliEveTRDHits - visualisation of MC Hits, Clusters (RecPoints)
14 // - AliEveTRDDigits - visualisation of TRD digits
16 // by A.Bercuci (A.Bercuci@gsi.de) Fri Oct 27 2006
17 ///////////////////////////////////////////////////////////////////////
19 #ifndef AliEveTRDData_H
20 #define AliEveTRDData_H
22 #include <TEveQuadSet.h>
23 #include <TEveBoxSet.h>
24 #include <TEvePointSet.h>
27 #ifndef ALITRDARRAYADC_H
28 #include "AliTRDarrayADC.h"
31 class AliEveTRDChamber;
32 class AliEveTRDHits : public TEvePointSet
38 void PointSelected(Int_t n);
42 AliEveTRDHits(const AliEveTRDHits&); // Not implemented
43 AliEveTRDHits& operator=(const AliEveTRDHits&); // Not implemented
45 ClassDef(AliEveTRDHits, 0); // Base class for TRD hits visualisation
49 class AliTRDdigitsManager;
50 class AliEveTRDDigits : public TEveQuadSet
52 friend class AliEveTRDDigitsEditor;
55 AliEveTRDDigits(AliEveTRDChamber *p);
58 void ComputeRepresentation();
59 const AliTRDarrayADC* GetData() const {return fData.HasData() ? &fData : NULL;}
60 //void Paint(Option_t *opt="");
62 void SetData(AliTRDdigitsManager *digits);
65 AliEveTRDChamber *fParent;
68 TEveBoxSet fBoxes; // Boxset for didigit representation.
69 AliTRDarrayADC fData; // Raw-data array.
71 AliEveTRDDigits(const AliEveTRDDigits&); // Not implemented
72 AliEveTRDDigits& operator=(const AliEveTRDDigits&); // Not implemented
74 ClassDef(AliEveTRDDigits, 0); // Digits visualisation for TRD
79 class AliEveTRDClusters : public AliEveTRDHits
84 void Load(Char_t *what="all", Bool_t stkwise=kTRUE) const; // *MENU*
85 void PointSelected(Int_t n);
86 void Print(Option_t *o = "") const; // *MENU*
89 AliEveTRDClusters(const AliEveTRDClusters&); // Not implemented
90 AliEveTRDClusters& operator=(const AliEveTRDClusters&); // Not implemented
92 ClassDef(AliEveTRDClusters, 0); // Base class for TRD clusters visualisation
98 class AliEveTRDTracklet : public TEveLine
101 AliEveTRDTracklet(AliTRDseedV1 *trklt);
102 ~AliEveTRDTracklet();
103 AliEveTRDClusters* GetClusters() const {return fClusters;}
104 void Print(Option_t *o="") const; // *MENU*
107 AliEveTRDClusters *fClusters; // clusters
109 AliEveTRDTracklet(const AliEveTRDTracklet&); // Not implemented
110 AliEveTRDTracklet& operator=(const AliEveTRDTracklet&); // Not implemented
112 ClassDef(AliEveTRDTracklet, 0); // TRD tracklet visualisation
119 class AliEveTRDTrack : public TEveLine
122 enum AliEveTRDTrackState{
128 enum AliEveTRDTrackModel{
134 AliEveTRDTrack(AliTRDtrackV1 *trk);
135 virtual ~AliEveTRDTrack();
136 //AliEveTRDTracklet* GetTracklet(Int_t plane) const {return plane <6 && plane >= 0 ? fTracklet[plane] : NULL;}
137 void Print(Option_t *opt="a") const; // *MENU*
138 void SetStatus(UChar_t s=0); // *MENU*
139 void SetESDstatus(ULong_t stat) {fESDStatus = stat;}
141 AliEveTRDTrack(const AliEveTRDTrack&); // Not implemented
142 AliEveTRDTrack& operator=(const AliEveTRDTrack&); // Not implemented
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
147 AliTrackPoint *fPoints; // track crossing points
148 AliRieman *fRim; // rieman fitter
149 ClassDef(AliEveTRDTrack, 0); // TRD track visualisation
153 #include "TEveElement.h"
155 class AliTRDtrackletMCM;
156 class AliTRDtrackletWord;
157 class AliEveTRDTrackletOnline : public TEveLine
160 AliEveTRDTrackletOnline(AliTRDtrackletMCM *tracklet);
161 AliEveTRDTrackletOnline(AliTRDtrackletWord *tracklet);
162 ~AliEveTRDTrackletOnline();
164 void ShowMCM(Option_t *opt = "RHT") const; // *MENU*
170 AliEveTRDTrackletOnline(const AliEveTRDTrackletOnline&); // Not implemented
171 AliEveTRDTrackletOnline& operator=(const AliEveTRDTrackletOnline&); // Not implemented
173 ClassDef(AliEveTRDTrackletOnline, 0); // TRD tracklet visualisation
178 class AliEveTRDmcm : public TEveElement, public TNamed
184 Bool_t Init(Int_t det, Int_t rob, Int_t mcm); // *MENU*
185 Bool_t LoadDigits(); // *MENU*
186 Bool_t Filter(); // *MENU*
187 Bool_t Tracklet(); // *MENU*
188 void Draw(Option_t* option = "FHT"); // *MENU*
189 Bool_t AssignPointer(const char* ptrname = "mcmtest"); // *MENU*
194 AliEveTRDmcm(const AliEveTRDmcm&); // not implemented
195 AliEveTRDmcm& operator=(const AliEveTRDmcm&); // not implemented
197 ClassDef(AliEveTRDmcm, 0);