]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/EveDet/AliEveTRDData.h
fix digits vizualization
[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
113 class AliTRDtrackV1;
114 class AliEveTRDTrack : public TEveLine
115 {
116 public:
117   AliEveTRDTrack(AliTRDtrackV1 *trk);
118 //  ~AliEveTRDTrack();
119   AliEveTRDTracklet*  GetTracklet(Int_t plane) const {return plane <6 && plane >= 0 ? fTracklet[plane] : 0x0;}
120   void               ProcessData(); // *MENU* 
121  
122 private:
123   AliEveTRDTracklet  *fTracklet[6]; // tracklets
124
125   AliEveTRDTrack(const AliEveTRDTrack&);            // Not implemented
126   AliEveTRDTrack& operator=(const AliEveTRDTrack&); // Not implemented
127
128   ClassDef(AliEveTRDTrack, 0); // TRD track visualisation
129 };
130
131
132 #endif