From Alexandru:
[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 #include "AliTRDseedV1.h"
30 #include "AliTRDtrackV1.h"
31
32 class AliEveTRDChamber;
33 class AliEveTRDHits : public TEvePointSet
34 {
35 public:
36   AliEveTRDHits(AliEveTRDChamber *p);
37   ~AliEveTRDHits();
38
39   void PointSelected(Int_t n);
40
41 protected:
42   AliEveTRDChamber *fParent; // Chamber holding the hits.
43
44 private:
45   AliEveTRDHits(const AliEveTRDHits&);            // Not implemented
46   AliEveTRDHits& operator=(const AliEveTRDHits&); // Not implemented
47
48   ClassDef(AliEveTRDHits, 0); // Base class for TRD hits visualisation
49 };
50
51
52 class AliTRDdigitsManager;
53 class AliEveTRDDigits : public TEveQuadSet
54 {
55   friend class AliEveTRDDigitsEditor;
56
57 public:
58   AliEveTRDDigits(AliEveTRDChamber *p);
59   ~AliEveTRDDigits();
60
61   void                  ComputeRepresentation();
62   void                  Paint(Option_t *opt="");
63   void                  Reset();
64   void                  SetData(AliTRDdigitsManager *digits);
65
66 protected:
67   AliEveTRDChamber *fParent;
68
69 private:
70   TEveBoxSet            fBoxes; // Boxset for didigit representation.
71   AliTRDdataArrayI      fData;  // Raw-data array.
72
73   AliEveTRDDigits(const AliEveTRDDigits&);            // Not implemented
74   AliEveTRDDigits& operator=(const AliEveTRDDigits&); // Not implemented
75
76   ClassDef(AliEveTRDDigits, 0); // Digits visualisation for TRD
77 };
78
79
80
81 class AliEveTRDClusters : public AliEveTRDHits
82 {
83 public:
84   AliEveTRDClusters(AliEveTRDChamber *p);
85
86   void PointSelected(Int_t n);
87
88 private:
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
97
98 class AliEveTRDTracklet : public TEveLine, public AliTRDseedV1 
99 {
100 public:
101   AliEveTRDTracklet();
102 //  ~AliEveTRDTracklet();
103   
104
105 private:
106   AliEveTRDTracklet(const AliEveTRDTracklet&);            // Not implemented
107   AliEveTRDTracklet& operator=(const AliEveTRDTracklet&); // Not implemented
108
109   ClassDef(AliEveTRDTracklet, 0); // TRD tracklet visualisation
110 };
111
112
113
114
115 class AliEveTRDTrack : public TEveLine, public AliTRDtrackV1
116 {
117 public:
118   AliEveTRDTrack();
119 //  ~AliEveTRDTrack();
120   
121 private:
122   AliEveTRDTrack(const AliEveTRDTrack&);            // Not implemented
123   AliEveTRDTrack& operator=(const AliEveTRDTrack&); // Not implemented
124
125   ClassDef(AliEveTRDTrack, 0); // TRD track visualisation
126 };
127
128
129 #endif