]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/Alieve/TRDModuleImp.h
New files from Alexandru: TRD visualization.
[u/mrichter/AliRoot.git] / EVE / Alieve / TRDModuleImp.h
CommitLineData
a282bf09 1#ifndef ALIEVE_TRDModuleImp_H
2#define ALIEVE_TRDModuleImp_H
3
4/////////////////////////////////////////////////////////////////////////
5//
6// Implementation of TRDModule:
7// - TRDChamber - Data holder
8// - TRDNode - Node structure
9//
10// by A.Bercuci (A.Bercuci@gsi.de) Fri Oct 27 2006
11/////////////////////////////////////////////////////////////////////////
12
13#ifndef REVE_RenderElement_H
14#include <Reve/RenderElement.h>
15#endif
16
17#ifndef ALIEVE_TRDModule_H
18#include "TRDModule.h"
19#endif
20
21class AliTRDpadPlane;
22class AliTRDgeometry;
23class AliTRDhit;
24class AliTRDdataArrayI;
25class TObjArray;
26
27namespace Reve {
28 class Track;
29}
30namespace Alieve {
31 class TRDHits;
32 class TRDDigits;
33
34 class TRDChamber : public Reve::RenderElement, public TRDModule
35 {
36 friend class TRDDigits;
37 public:
38
39 TRDChamber(const Int_t det=0);
40 virtual ~TRDChamber() {}
41
42 TRDChamber(const TRDChamber&);
43 TRDChamber& operator=(const TRDChamber&);
44 void Init();
45
46 void AddHit(AliTRDhit *hit);
47 void LoadClusters(TObjArray *cs);
48 void LoadDigits(AliTRDdataArrayI *digits);
49 void LoadTracklets(TObjArray *ts);
50 void Paint(Option_t* option="");
51 void Reset();
52
53 protected:
54 TRDDigits *fDigits; // digits representation
55 TRDHits *fHits; // hits representation
56 TRDHits *fRecPoints;// cluster representation
57 std::vector<Reve::Track*> *fTracklets; // mcm tracklets
58
59 // data representation section
60 Int_t rowMax; // number of rows for this pad plane
61 Int_t colMax; // number of columns for this pad plane
62 Int_t timeMax; // number of timebins
63 Float_t samplingFrequency; // sampling frequency
64 Float_t fX0; // radial distance from vertex to the chamber
65 Int_t fPla; // detector plane
66 AliTRDpadPlane *fPadPlane; // pad plane object
67 AliTRDgeometry *fGeo; // TRD geometry
68
69 ClassDef(TRDChamber,1) // Holder for TRD chamber data
70 };
71
72
73 class TRDNode : public Reve::RenderElementListBase, public TRDModule
74 {
75 public:
76 TRDNode(const char *typ, const Int_t det=0);
77 void Paint(Option_t* option="");
78 void Reset();
79
80 void Colapse(); // *MENU*
81 void Expand(); // *MENU*
82 void EnableListElements(); // *MENU*
83 void DisableListElements(); // *MENU*
84 void UpdateLeaves();
85 void UpdateNode();
86
87 lpRE_i begin(){return fChildren.begin();}
88 lpRE_i end(){return fChildren.end();}
89
90 ClassDef(TRDNode, 1)
91 };
92}
93
94#endif