]>
Commit | Line | Data |
---|---|---|
d810d0de | 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 * | |
51346b82 | 7 | * full copyright notice. * |
d810d0de | 8 | **************************************************************************/ |
9 | ///////////////////////////////////////////////////////////////////////// | |
10 | // | |
11 | // - AliEVE implementation - | |
51346b82 | 12 | // Containers for visualisation of TRD data structures |
d810d0de | 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 | ||
a15e6d7d | 19 | #ifndef AliEveTRDData_H |
20 | #define AliEveTRDData_H | |
d810d0de | 21 | |
d810d0de | 22 | #include <TEveQuadSet.h> |
d810d0de | 23 | #include <TEveBoxSet.h> |
d810d0de | 24 | #include <TEvePointSet.h> |
6983e87a | 25 | #include <TEveLine.h> |
d810d0de | 26 | |
fd31e9de | 27 | |
d810d0de | 28 | #include "AliTRDdataArrayI.h" |
29 | ||
fd31e9de | 30 | class AliEveTRDChamber; |
fd31e9de | 31 | class AliEveTRDHits : public TEvePointSet |
32 | { | |
fd31e9de | 33 | public: |
a4197d2e | 34 | AliEveTRDHits(); |
6983e87a | 35 | ~AliEveTRDHits(); |
fd31e9de | 36 | |
37 | void PointSelected(Int_t n); | |
38 | ||
fd31e9de | 39 | |
4b456ebb | 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 | |
fd31e9de | 45 | }; |
46 | ||
47 | ||
6983e87a | 48 | class AliTRDdigitsManager; |
fd31e9de | 49 | class AliEveTRDDigits : public TEveQuadSet |
50 | { | |
51 | friend class AliEveTRDDigitsEditor; | |
d810d0de | 52 | |
fd31e9de | 53 | public: |
54 | AliEveTRDDigits(AliEveTRDChamber *p); | |
6983e87a | 55 | ~AliEveTRDDigits(); |
d810d0de | 56 | |
fd31e9de | 57 | void ComputeRepresentation(); |
0d9ef37b | 58 | const AliTRDdataArrayI* GetData() const {return fData.GetNelems() ? &fData : 0x0;} |
fd31e9de | 59 | void Paint(Option_t *opt=""); |
60 | void Reset(); | |
61 | void SetData(AliTRDdigitsManager *digits); | |
d810d0de | 62 | |
fd31e9de | 63 | protected: |
64 | AliEveTRDChamber *fParent; | |
d810d0de | 65 | |
fd31e9de | 66 | private: |
a15e6d7d | 67 | TEveBoxSet fBoxes; // Boxset for didigit representation. |
68 | AliTRDdataArrayI fData; // Raw-data array. | |
d810d0de | 69 | |
4b456ebb | 70 | AliEveTRDDigits(const AliEveTRDDigits&); // Not implemented |
71 | AliEveTRDDigits& operator=(const AliEveTRDDigits&); // Not implemented | |
72 | ||
73 | ClassDef(AliEveTRDDigits, 0); // Digits visualisation for TRD | |
fd31e9de | 74 | }; |
d810d0de | 75 | |
51346b82 | 76 | |
6983e87a | 77 | |
78 | class AliEveTRDClusters : public AliEveTRDHits | |
fd31e9de | 79 | { |
fd31e9de | 80 | public: |
a4197d2e | 81 | AliEveTRDClusters(); |
d810d0de | 82 | |
6983e87a | 83 | void PointSelected(Int_t n); |
d810d0de | 84 | |
4b456ebb | 85 | private: |
6983e87a | 86 | AliEveTRDClusters(const AliEveTRDClusters&); // Not implemented |
87 | AliEveTRDClusters& operator=(const AliEveTRDClusters&); // Not implemented | |
4b456ebb | 88 | |
6983e87a | 89 | ClassDef(AliEveTRDClusters, 0); // Base class for TRD clusters visualisation |
fd31e9de | 90 | }; |
d810d0de | 91 | |
d810d0de | 92 | |
6983e87a | 93 | |
a4197d2e | 94 | class AliTRDseedV1; |
95 | class AliEveTRDTracklet : public TEveLine | |
fd31e9de | 96 | { |
fd31e9de | 97 | public: |
a4197d2e | 98 | AliEveTRDTracklet(AliTRDseedV1 *trklt); |
6983e87a | 99 | // ~AliEveTRDTracklet(); |
a4197d2e | 100 | AliEveTRDClusters* GetClusters() const {return fClusters;} |
101 | void ProcessData(); // *MENU* | |
6983e87a | 102 | private: |
a4197d2e | 103 | AliEveTRDClusters *fClusters; // clusters |
104 | ||
6983e87a | 105 | AliEveTRDTracklet(const AliEveTRDTracklet&); // Not implemented |
106 | AliEveTRDTracklet& operator=(const AliEveTRDTracklet&); // Not implemented | |
107 | ||
108 | ClassDef(AliEveTRDTracklet, 0); // TRD tracklet visualisation | |
109 | }; | |
110 | ||
d810d0de | 111 | |
51346b82 | 112 | |
a4197d2e | 113 | class AliTRDtrackV1; |
114 | class AliEveTRDTrack : public TEveLine | |
6983e87a | 115 | { |
116 | public: | |
e94beec4 | 117 | enum AliEveTRDTrackColor{ |
118 | kPID = 0 | |
119 | ,kSource = 1 | |
120 | }; | |
121 | enum AliEveTRDTrackModel{ | |
122 | kLine = 0 | |
123 | ,kRiemann = 1 | |
124 | ,kKalman = 2 | |
125 | }; | |
126 | ||
127 | ||
a4197d2e | 128 | AliEveTRDTrack(AliTRDtrackV1 *trk); |
6983e87a | 129 | // ~AliEveTRDTrack(); |
a4197d2e | 130 | AliEveTRDTracklet* GetTracklet(Int_t plane) const {return plane <6 && plane >= 0 ? fTracklet[plane] : 0x0;} |
131 | void ProcessData(); // *MENU* | |
e94beec4 | 132 | void SetState(AliEveTRDTrackColor c, AliEveTRDTrackModel m){;} |
a4197d2e | 133 | |
4b456ebb | 134 | private: |
a4197d2e | 135 | AliEveTRDTracklet *fTracklet[6]; // tracklets |
136 | ||
6983e87a | 137 | AliEveTRDTrack(const AliEveTRDTrack&); // Not implemented |
138 | AliEveTRDTrack& operator=(const AliEveTRDTrack&); // Not implemented | |
4b456ebb | 139 | |
6983e87a | 140 | ClassDef(AliEveTRDTrack, 0); // TRD track visualisation |
fd31e9de | 141 | }; |
d810d0de | 142 | |
6983e87a | 143 | |
d810d0de | 144 | #endif |