]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/Alieve/TRDModuleImp.h
Runloader is updated when moving to next file (quick fix).
[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);
49 void LoadClusters(TObjArray *cs);
14217b5f 50 void LoadDigits(AliTRDdigitsManager *digits);
a282bf09 51 void LoadTracklets(TObjArray *ts);
52 void Paint(Option_t* option="");
53 void Reset();
14217b5f 54 void SetGeometry(AliTRDgeometry *geo);
a282bf09 55
56 protected:
57 TRDDigits *fDigits; // digits representation
58 TRDHits *fHits; // hits representation
59 TRDHits *fRecPoints;// cluster representation
60 std::vector<Reve::Track*> *fTracklets; // mcm tracklets
61
62 // data representation section
63 Int_t rowMax; // number of rows for this pad plane
64 Int_t colMax; // number of columns for this pad plane
65 Int_t timeMax; // number of timebins
66 Float_t samplingFrequency; // sampling frequency
67 Float_t fX0; // radial distance from vertex to the chamber
68 Int_t fPla; // detector plane
69 AliTRDpadPlane *fPadPlane; // pad plane object
70 AliTRDgeometry *fGeo; // TRD geometry
71
72 ClassDef(TRDChamber,1) // Holder for TRD chamber data
73 };
74
75
2caed564 76 class TRDNode : public Reve::RenderElement, public TRDModule
a282bf09 77 {
78 public:
f5790a4c 79 TRDNode(const char *typ, Int_t det=0);
a282bf09 80 void Paint(Option_t* option="");
81 void Reset();
82
14217b5f 83 void Collapse(); // *MENU*
a282bf09 84 void Expand(); // *MENU*
85 void EnableListElements(); // *MENU*
86 void DisableListElements(); // *MENU*
87 void UpdateLeaves();
88 void UpdateNode();
89
e6ac3950 90 List_i begin(){return fChildren.begin();}
91 List_i end(){return fChildren.end();}
a282bf09 92
93 ClassDef(TRDNode, 1)
94 };
95}
96
97#endif