]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - EVE/EveDet/AliEveTRDData.h
update extra library list needed for class
[u/mrichter/AliRoot.git] / EVE / EveDet / AliEveTRDData.h
... / ...
CommitLineData
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 *
7 * full copyright notice. *
8 **************************************************************************/
9/////////////////////////////////////////////////////////////////////////
10//
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
15//
16// by A.Bercuci (A.Bercuci@gsi.de) Fri Oct 27 2006
17///////////////////////////////////////////////////////////////////////
18
19#ifndef AliEveTRDData_H
20#define AliEveTRDData_H
21
22#include <TEveQuadSet.h>
23#include <TEveBoxSet.h>
24#include <TEvePointSet.h>
25#include <TEveLine.h>
26
27#ifndef ALITRDARRAYADC_H
28#include "AliTRDarrayADC.h"
29#endif
30
31class AliEveTRDChamber;
32class AliEveTRDHits : public TEvePointSet
33{
34public:
35 AliEveTRDHits();
36 ~AliEveTRDHits();
37
38 void PointSelected(Int_t n);
39
40
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
46};
47
48
49class AliTRDdigitsManager;
50class AliEveTRDDigits : public TEveQuadSet
51{
52 friend class AliEveTRDDigitsEditor;
53
54public:
55 AliEveTRDDigits(AliEveTRDChamber *p);
56 ~AliEveTRDDigits();
57
58 void ComputeRepresentation();
59 const AliTRDarrayADC* GetData() const {return fData.HasData() ? &fData : 0x0;}
60 //void Paint(Option_t *opt="");
61 void Reset();
62 void SetData(AliTRDdigitsManager *digits);
63
64protected:
65 AliEveTRDChamber *fParent;
66
67private:
68 TEveBoxSet fBoxes; // Boxset for didigit representation.
69 AliTRDarrayADC fData; // Raw-data array.
70
71 AliEveTRDDigits(const AliEveTRDDigits&); // Not implemented
72 AliEveTRDDigits& operator=(const AliEveTRDDigits&); // Not implemented
73
74 ClassDef(AliEveTRDDigits, 0); // Digits visualisation for TRD
75};
76
77
78
79class AliEveTRDClusters : public AliEveTRDHits
80{
81public:
82 AliEveTRDClusters();
83
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*
87
88private:
89 AliEveTRDClusters(const AliEveTRDClusters&); // Not implemented
90 AliEveTRDClusters& operator=(const AliEveTRDClusters&); // Not implemented
91
92 ClassDef(AliEveTRDClusters, 0); // Base class for TRD clusters visualisation
93};
94
95
96
97class AliTRDseedV1;
98class AliEveTRDTracklet : public TEveLine
99{
100public:
101 AliEveTRDTracklet(AliTRDseedV1 *trklt);
102 ~AliEveTRDTracklet();
103 AliEveTRDClusters* GetClusters() const {return fClusters;}
104 void Print(Option_t *o="") const; // *MENU*
105
106private:
107 AliEveTRDClusters *fClusters; // clusters
108
109 AliEveTRDTracklet(const AliEveTRDTracklet&); // Not implemented
110 AliEveTRDTracklet& operator=(const AliEveTRDTracklet&); // Not implemented
111
112 ClassDef(AliEveTRDTracklet, 0); // TRD tracklet visualisation
113};
114
115
116class AliTrackPoint;
117class AliTRDtrackV1;
118class AliRieman;
119class AliEveTRDTrack : public TEveLine
120{
121public:
122 enum AliEveTRDTrackState{
123 kSource = 0
124 ,kPID = 1
125 ,kTrackCosmics = 2
126 ,kTrackModel = 3
127 };
128 enum AliEveTRDTrackModel{
129 kRieman = 0
130 ,kKalman = 1
131 };
132
133
134 AliEveTRDTrack(AliTRDtrackV1 *trk);
135 virtual ~AliEveTRDTrack();
136 //AliEveTRDTracklet* GetTracklet(Int_t plane) const {return plane <6 && plane >= 0 ? fTracklet[plane] : 0x0;}
137 void Print(Option_t *opt="a") const; // *MENU*
138 void SetStatus(UChar_t s);
139 void SetESDstatus(ULong_t stat) {fESDStatus = stat;}
140private:
141 AliEveTRDTrack(const AliEveTRDTrack&); // Not implemented
142 AliEveTRDTrack& operator=(const AliEveTRDTrack&); // Not implemented
143
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
150};
151
152
153#include "TEveElement.h"
154
155class AliTRDtrackletMCM;
156class AliTRDtrackletWord;
157class AliEveTRDTrackletOnline : public TEveLine
158{
159public:
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*
166private:
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
178class AliTRDmcmSim;
179class 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
201#endif