]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/EveDet/AliEveTRDData.h
17d561a431ce5b2d070eb5d55b2c07ff2f1a3936
[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
26 #include <TGedFrame.h>
27
28 #include "AliTRDdataArrayI.h"
29
30 class AliTRDdigitsManager;
31 class AliEveTRDChamber;
32
33 class AliEveTRDHits : public TEvePointSet
34 {
35 private:
36   AliEveTRDHits(const AliEveTRDHits&);            // Not implemented
37   AliEveTRDHits& operator=(const AliEveTRDHits&); // Not implemented
38
39 public:
40   AliEveTRDHits(AliEveTRDChamber *p);
41
42   void PointSelected(Int_t n);
43
44 protected:
45   AliEveTRDChamber *fParent; // Chaber holding the hits.
46
47   ClassDef(AliEveTRDHits,1); // Base class for TRD hits visualisation
48 };
49
50
51 class AliEveTRDHitsEditor : public TGedFrame
52 {
53 private:
54   AliEveTRDHitsEditor(const AliEveTRDHitsEditor&);            // Not implemented
55   AliEveTRDHitsEditor& operator=(const AliEveTRDHitsEditor&); // Not implemented
56
57 public:
58   AliEveTRDHitsEditor(const TGWindow* p=0, Int_t width=170, Int_t height=30,
59                       UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground());
60   virtual ~AliEveTRDHitsEditor() {}
61
62   virtual void SetModel(TObject* obj);
63
64 protected:
65   AliEveTRDHits* fM; // Model object.
66
67   ClassDef(AliEveTRDHitsEditor,1); // Editor for AliEveTRDHits.
68 };
69
70
71 class AliEveTRDDigits : public TEveQuadSet
72 {
73   friend class AliEveTRDDigitsEditor;
74
75 private:
76   AliEveTRDDigits(const AliEveTRDDigits&);            // Not implemented
77   AliEveTRDDigits& operator=(const AliEveTRDDigits&); // Not implemented
78
79 public:
80   AliEveTRDDigits(AliEveTRDChamber *p);
81
82   void                  ComputeRepresentation();
83   void                  Paint(Option_t *opt="");
84   void                  Reset();
85   void                  SetData(AliTRDdigitsManager *digits);
86
87 protected:
88   AliEveTRDChamber *fParent;
89
90 private:
91   TEveBoxSet            fBoxes; // Boxset for didigit representation.
92   AliTRDdataArrayI      fData;  // Raw-data array.
93
94   ClassDef(AliEveTRDDigits,1); // Digits visualisation for TRD
95 };
96
97
98 class AliEveTRDDigitsEditor : public TGedFrame
99 {
100 private:
101   AliEveTRDDigitsEditor(const AliEveTRDDigitsEditor&);            // Not implemented
102   AliEveTRDDigitsEditor& operator=(const AliEveTRDDigitsEditor&); // Not implemented
103
104 public:
105   AliEveTRDDigitsEditor(const TGWindow* p=0, Int_t width=170, Int_t height=30,
106                         UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground());
107   virtual ~AliEveTRDDigitsEditor() {}
108
109   virtual void SetModel(TObject* obj);
110
111 protected:
112   AliEveTRDDigits* fM; // Model object.
113
114   ClassDef(AliEveTRDDigitsEditor,1); // Editor for AliEveTRDDigits
115 };
116
117
118 class AliEveTRDClusters : public AliEveTRDHits
119 {
120 private:
121   AliEveTRDClusters(const AliEveTRDClusters&);            // Not implemented
122   AliEveTRDClusters& operator=(const AliEveTRDClusters&); // Not implemented
123
124 public:
125   AliEveTRDClusters(AliEveTRDChamber *p);
126
127   void PointSelected(Int_t n);
128
129   ClassDef(AliEveTRDClusters,1); // Base class for TRD clusters visualisation
130 };
131
132 #endif