]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/Alieve/TRDModuleImp.h
Put all the naming conventions into AlIQA
[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
0b28fd57 13#include <vector>
14
a282bf09 15#ifndef REVE_RenderElement_H
16#include <Reve/RenderElement.h>
17#endif
18
19#ifndef ALIEVE_TRDModule_H
20#include "TRDModule.h"
21#endif
22
23class AliTRDpadPlane;
24class AliTRDgeometry;
25class AliTRDhit;
26class AliTRDdataArrayI;
14217b5f 27class AliTRDdigitsManager;
a282bf09 28class TObjArray;
29
30namespace Reve {
31 class Track;
32}
33namespace Alieve {
34 class TRDHits;
35 class TRDDigits;
36
37 class TRDChamber : public Reve::RenderElement, public TRDModule
38 {
39 friend class TRDDigits;
40 public:
41
f5790a4c 42 TRDChamber(Int_t det=0);
a282bf09 43 virtual ~TRDChamber() {}
44
45 TRDChamber(const TRDChamber&);
46 TRDChamber& operator=(const TRDChamber&);
a282bf09 47
48 void AddHit(AliTRDhit *hit);
edf0c4a0 49 Int_t GetRowMax() const {return rowMax;}
50 Int_t GetColMax() const {return colMax;}
51 Int_t GetTimeMax() const {return timeMax;}
52 Int_t GetSM() const;
53 Int_t GetSTK() const;
54 Int_t GetPlane() const {return fPla;}
a282bf09 55 void LoadClusters(TObjArray *cs);
14217b5f 56 void LoadDigits(AliTRDdigitsManager *digits);
a282bf09 57 void LoadTracklets(TObjArray *ts);
58 void Paint(Option_t* option="");
59 void Reset();
14217b5f 60 void SetGeometry(AliTRDgeometry *geo);
a282bf09 61
62 protected:
63 TRDDigits *fDigits; // digits representation
64 TRDHits *fHits; // hits representation
65 TRDHits *fRecPoints;// cluster representation
66 std::vector<Reve::Track*> *fTracklets; // mcm tracklets
67
68 // data representation section
69 Int_t rowMax; // number of rows for this pad plane
70 Int_t colMax; // number of columns for this pad plane
71 Int_t timeMax; // number of timebins
72 Float_t samplingFrequency; // sampling frequency
73 Float_t fX0; // radial distance from vertex to the chamber
74 Int_t fPla; // detector plane
75 AliTRDpadPlane *fPadPlane; // pad plane object
76 AliTRDgeometry *fGeo; // TRD geometry
77
78 ClassDef(TRDChamber,1) // Holder for TRD chamber data
79 };
80
81
2caed564 82 class TRDNode : public Reve::RenderElement, public TRDModule
a282bf09 83 {
84 public:
f5790a4c 85 TRDNode(const char *typ, Int_t det=0);
a282bf09 86 void Paint(Option_t* option="");
87 void Reset();
88
14217b5f 89 void Collapse(); // *MENU*
a282bf09 90 void Expand(); // *MENU*
91 void EnableListElements(); // *MENU*
92 void DisableListElements(); // *MENU*
93 void UpdateLeaves();
94 void UpdateNode();
95
e6ac3950 96 List_i begin(){return fChildren.begin();}
97 List_i end(){return fChildren.end();}
a282bf09 98
99 ClassDef(TRDNode, 1)
100 };
101}
102
103#endif