2 // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
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 #ifndef ALIEVE_TRDModuleImp_H
10 #define ALIEVE_TRDModuleImp_H
12 /////////////////////////////////////////////////////////////////////////
14 // Implementation of AliEveTRDModule:
15 // - AliEveTRDChamber - Data holder
16 // - AliEveTRDNode - Node structure
18 // by A.Bercuci (A.Bercuci@gsi.de) Fri Oct 27 2006
19 /////////////////////////////////////////////////////////////////////////
23 #include <TEveElement.h>
25 #ifndef ALIEVE_TRDModule_H
26 #include "AliEveTRDModule.h"
32 class AliTRDdataArrayI;
33 class AliTRDdigitsManager;
39 class AliEveTRDDigits;
41 class AliEveTRDChamber : public TEveElement, public AliEveTRDModule
43 friend class AliEveTRDDigits;
46 AliEveTRDChamber(Int_t det=0);
47 virtual ~AliEveTRDChamber() {}
49 AliEveTRDChamber(const AliEveTRDChamber&);
50 AliEveTRDChamber& operator=(const AliEveTRDChamber&);
52 void AddHit(AliTRDhit *hit);
53 Int_t GetRowMax() const {return rowMax;}
54 Int_t GetColMax() const {return colMax;}
55 Int_t GetTimeMax() const {return timeMax;}
58 Int_t GetPlane() const {return fPla;}
59 void LoadClusters(TObjArray *cs);
60 void LoadDigits(AliTRDdigitsManager *digits);
61 void LoadTracklets(TObjArray *ts);
62 void Paint(Option_t* option="");
64 void SetGeometry(AliTRDgeometry *geo);
67 AliEveTRDDigits *fDigits; // digits representation
68 AliEveTRDHits *fHits; // hits representation
69 AliEveTRDHits *fRecPoints;// cluster representation
70 std::vector<TEveTrack*> *fTracklets; // mcm tracklets
72 // data representation section
73 Int_t rowMax; // number of rows for this pad plane
74 Int_t colMax; // number of columns for this pad plane
75 Int_t timeMax; // number of timebins
76 Float_t samplingFrequency; // sampling frequency
77 Float_t fX0; // radial distance from vertex to the chamber
78 Int_t fPla; // detector plane
79 AliTRDpadPlane *fPadPlane; // pad plane object
80 AliTRDgeometry *fGeo; // TRD geometry
82 ClassDef(AliEveTRDChamber,1) // Holder for TRD chamber data
86 class AliEveTRDNode : public TEveElement, public AliEveTRDModule
89 AliEveTRDNode(const char *typ, Int_t det=0);
90 void Paint(Option_t* option="");
93 void Collapse(); // *MENU*
94 void Expand(); // *MENU*
95 void EnableListElements(); // *MENU*
96 void DisableListElements(); // *MENU*
100 List_i begin(){return fChildren.begin();}
101 List_i end(){return fChildren.end();}
103 ClassDef(AliEveTRDNode, 1)