]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/EveDet/AliEveTRDData.h
fix broken compilation in EVE-TRD
[u/mrichter/AliRoot.git] / EVE / EveDet / AliEveTRDData.h
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
28 #include "AliTRDdataArrayI.h"
29
30 class AliEveTRDChamber;
31 class AliEveTRDHits : public TEvePointSet
32 {
33 public:
34   AliEveTRDHits();
35   ~AliEveTRDHits();
36
37   void PointSelected(Int_t n);
38
39
40 private:
41   AliEveTRDHits(const AliEveTRDHits&);            // Not implemented
42   AliEveTRDHits& operator=(const AliEveTRDHits&); // Not implemented
43
44   ClassDef(AliEveTRDHits, 0); // Base class for TRD hits visualisation
45 };
46
47
48 class AliTRDdigitsManager;
49 class AliEveTRDDigits : public TEveQuadSet
50 {
51   friend class AliEveTRDDigitsEditor;
52
53 public:
54   AliEveTRDDigits(AliEveTRDChamber *p);
55   ~AliEveTRDDigits();
56
57   void                  ComputeRepresentation();
58   const AliTRDdataArrayI*       GetData() const {return fData.GetNelems() ? &fData : 0x0;}
59   void                  Paint(Option_t *opt="");
60   void                  Reset();
61   void                  SetData(AliTRDdigitsManager *digits);
62
63 protected:
64   AliEveTRDChamber *fParent;
65
66 private:
67   TEveBoxSet            fBoxes; // Boxset for didigit representation.
68   AliTRDdataArrayI      fData;  // Raw-data array.
69
70   AliEveTRDDigits(const AliEveTRDDigits&);            // Not implemented
71   AliEveTRDDigits& operator=(const AliEveTRDDigits&); // Not implemented
72
73   ClassDef(AliEveTRDDigits, 0); // Digits visualisation for TRD
74 };
75
76
77
78 class AliEveTRDClusters : public AliEveTRDHits
79 {
80 public:
81   AliEveTRDClusters();
82
83   void PointSelected(Int_t n);
84
85 private:
86   AliEveTRDClusters(const AliEveTRDClusters&);            // Not implemented
87   AliEveTRDClusters& operator=(const AliEveTRDClusters&); // Not implemented
88
89   ClassDef(AliEveTRDClusters, 0); // Base class for TRD clusters visualisation
90 };
91
92
93
94 class AliTRDseedV1;
95 class AliEveTRDTracklet : public TEveLine
96 {
97 public:
98   AliEveTRDTracklet(AliTRDseedV1 *trklt);
99 //  ~AliEveTRDTracklet();
100   AliEveTRDClusters* GetClusters() const {return fClusters;}
101   void               ProcessData(); // *MENU*
102 private:
103   AliEveTRDClusters *fClusters;  // clusters
104
105   AliEveTRDTracklet(const AliEveTRDTracklet&);            // Not implemented
106   AliEveTRDTracklet& operator=(const AliEveTRDTracklet&); // Not implemented
107
108   ClassDef(AliEveTRDTracklet, 0); // TRD tracklet visualisation
109 };
110
111
112 class AliTrackPoint;
113 class AliTRDtrackV1;
114 class AliEveTRDTrack : public TEveLine
115 {
116 public:
117   enum AliEveTRDTrackState{
118     kSource        = 0 
119     ,kPID          = 1 
120     ,kTrackCosmics = 2
121     ,kTrackModel   = 3
122   };
123   enum AliEveTRDTrackModel{
124     kRieman  = 0
125     ,kKalman = 1
126   };
127
128
129   AliEveTRDTrack(AliTRDtrackV1 *trk);
130   virtual ~AliEveTRDTrack();
131   //AliEveTRDTracklet*  GetTracklet(Int_t plane) const {return plane <6 && plane >= 0 ? fTracklet[plane] : 0x0;}
132   void    SetStatus(UChar_t s);
133   void    SetESDstatus(ULong_t stat) {fESDStatus = stat;} 
134 private:
135   AliEveTRDTrack(const AliEveTRDTrack&);            // Not implemented
136   AliEveTRDTrack& operator=(const AliEveTRDTrack&); // Not implemented
137
138   UChar_t        fTrackState;   // bit map for the track drawing state
139   ULong_t        fESDStatus;    // ESD status bit for this track
140   Float_t        fAlpha;        // sector angle for this track  
141   AliTrackPoint* fPoints;       // track crossing points
142
143   ClassDef(AliEveTRDTrack, 0);  // TRD track visualisation
144 };
145
146
147 #endif