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>
28 #include "AliTRDdataArrayI.h"
30 class AliEveTRDChamber;
31 class AliEveTRDHits : public TEvePointSet
37 void PointSelected(Int_t n);
41 AliEveTRDHits(const AliEveTRDHits&); // Not implemented
42 AliEveTRDHits& operator=(const AliEveTRDHits&); // Not implemented
44 ClassDef(AliEveTRDHits, 0); // Base class for TRD hits visualisation
48 class AliTRDdigitsManager;
49 class AliEveTRDDigits : public TEveQuadSet
51 friend class AliEveTRDDigitsEditor;
54 AliEveTRDDigits(AliEveTRDChamber *p);
57 void ComputeRepresentation();
58 const AliTRDdataArrayI* GetData() const {return fData.GetNelems() ? &fData : 0x0;}
59 void Paint(Option_t *opt="");
61 void SetData(AliTRDdigitsManager *digits);
64 AliEveTRDChamber *fParent;
67 TEveBoxSet fBoxes; // Boxset for didigit representation.
68 AliTRDdataArrayI fData; // Raw-data array.
70 AliEveTRDDigits(const AliEveTRDDigits&); // Not implemented
71 AliEveTRDDigits& operator=(const AliEveTRDDigits&); // Not implemented
73 ClassDef(AliEveTRDDigits, 0); // Digits visualisation for TRD
78 class AliEveTRDClusters : public AliEveTRDHits
83 void Load(Char_t *what="all", Bool_t stkwise=kTRUE) const; // *MENU*
84 void PointSelected(Int_t n);
85 void Print(Option_t *o = "") const; // *MENU*
88 AliEveTRDClusters(const AliEveTRDClusters&); // Not implemented
89 AliEveTRDClusters& operator=(const AliEveTRDClusters&); // Not implemented
91 ClassDef(AliEveTRDClusters, 0); // Base class for TRD clusters visualisation
97 class AliEveTRDTracklet : public TEveLine
100 AliEveTRDTracklet(AliTRDseedV1 *trklt);
101 // ~AliEveTRDTracklet();
102 AliEveTRDClusters* GetClusters() const {return fClusters;}
103 void Print(Option_t *o="") const; // *MENU*
105 AliEveTRDClusters *fClusters; // clusters
107 AliEveTRDTracklet(const AliEveTRDTracklet&); // Not implemented
108 AliEveTRDTracklet& operator=(const AliEveTRDTracklet&); // Not implemented
110 ClassDef(AliEveTRDTracklet, 0); // TRD tracklet visualisation
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] : 0x0;}
134 void SetStatus(UChar_t s);
135 void SetESDstatus(ULong_t stat) {fESDStatus = stat;}
137 AliEveTRDTrack(const AliEveTRDTrack&); // Not implemented
138 AliEveTRDTrack& operator=(const AliEveTRDTrack&); // Not implemented
140 UChar_t fTrackState; // bit map for the track drawing state
141 ULong_t fESDStatus; // ESD status bit for this track
142 Float_t fAlpha; // sector angle for this track
143 AliTrackPoint* fPoints; // track crossing points
145 ClassDef(AliEveTRDTrack, 0); // TRD track visualisation