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);
57 void SetData(AliTRDdigitsManager *digits);
60 AliEveTRDChamber *fParent;
63 AliEveTRDDigits(const AliEveTRDDigits&); // Not implemented
64 AliEveTRDDigits& operator=(const AliEveTRDDigits&); // Not implemented
66 ClassDef(AliEveTRDDigits, 0); // Digits visualisation for TRD
71 class AliEveTRDClusters : public AliEveTRDHits
76 void Load(Char_t *what="all") const; // *MENU*
77 void PointSelected(Int_t n);
78 void Print(Option_t *o = "") const; // *MENU*
81 AliEveTRDClusters(const AliEveTRDClusters&); // Not implemented
82 AliEveTRDClusters& operator=(const AliEveTRDClusters&); // Not implemented
84 ClassDef(AliEveTRDClusters, 0); // Base class for TRD clusters visualisation
90 class AliEveTRDTracklet : public TEveLine
93 AliEveTRDTracklet(AliTRDseedV1 *trklt);
95 AliEveTRDClusters* GetClusters() const {return fClusters;}
96 inline void Load(Char_t *what="all") const; // *MENU*
97 void Print(Option_t *o="") const; // *MENU*
100 AliEveTRDClusters *fClusters; // clusters
102 AliEveTRDTracklet(const AliEveTRDTracklet&); // Not implemented
103 AliEveTRDTracklet& operator=(const AliEveTRDTracklet&); // Not implemented
105 ClassDef(AliEveTRDTracklet, 0); // TRD tracklet visualisation
107 void AliEveTRDTracklet::Load(Char_t *what) const
109 if(fClusters) fClusters->Load(what);
116 class AliEveTRDTrack : public TEveLine
119 enum AliEveTRDTrackState{
125 enum AliEveTRDTrackModel{
131 AliEveTRDTrack(AliTRDtrackV1 *trk);
132 virtual ~AliEveTRDTrack();
133 //AliEveTRDTracklet* GetTracklet(Int_t plane) const {return plane <6 && plane >= 0 ? fTracklet[plane] : NULL;}
134 void Print(Option_t *opt="a") const; // *MENU*
135 void Load(Char_t *what="all") const; // *MENU*
136 void SetStatus(UChar_t s=0); // *MENU*
137 void SetESDstatus(ULong_t stat) {fESDStatus = stat;}
139 AliEveTRDTrack(const AliEveTRDTrack&); // Not implemented
140 AliEveTRDTrack& operator=(const AliEveTRDTrack&); // Not implemented
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
145 AliTrackPoint *fPoints; // track crossing points
146 AliRieman *fRim; // rieman fitter
147 ClassDef(AliEveTRDTrack, 0); // TRD track visualisation
151 #include "TEveElement.h"
153 class AliTRDtrackletMCM;
154 class AliTRDtrackletWord;
155 class AliEveTRDTrackletOnline : public TEveLine
158 AliEveTRDTrackletOnline(AliTRDtrackletMCM *tracklet);
159 AliEveTRDTrackletOnline(AliTRDtrackletWord *tracklet);
160 ~AliEveTRDTrackletOnline();
162 void ShowMCM(Option_t *opt = "RHT") const; // *MENU*
168 AliEveTRDTrackletOnline(const AliEveTRDTrackletOnline&); // Not implemented
169 AliEveTRDTrackletOnline& operator=(const AliEveTRDTrackletOnline&); // Not implemented
171 ClassDef(AliEveTRDTrackletOnline, 0); // TRD tracklet visualisation
176 class AliEveTRDmcm : public TEveElement, public TNamed
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*
192 AliEveTRDmcm(const AliEveTRDmcm&); // not implemented
193 AliEveTRDmcm& operator=(const AliEveTRDmcm&); // not implemented
195 ClassDef(AliEveTRDmcm, 0);