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 **************************************************************************/
10 #ifndef AliEveTRDModuleImp_H
11 #define AliEveTRDModuleImp_H
13 /////////////////////////////////////////////////////////////////////////
15 // Implementation of AliEveTRDModule:
16 // - AliEveTRDChamber - Data holder
17 // - AliEveTRDNode - Node structure
19 // by A.Bercuci (A.Bercuci@gsi.de) Fri Oct 27 2006
20 /////////////////////////////////////////////////////////////////////////
24 #include <TEveElement.h>
26 #include "AliEveTRDModule.h"
31 class AliTRDdataArrayI;
32 class AliTRDdigitsManager;
38 class AliEveTRDDigits;
40 class AliEveTRDChamber : public TEveElement, public AliEveTRDModule
42 friend class AliEveTRDDigits;
45 AliEveTRDChamber(const AliEveTRDChamber&); // Not implemented.
46 AliEveTRDChamber& operator=(const AliEveTRDChamber&); // Not implemented.
50 AliEveTRDChamber(Int_t det=0);
51 virtual ~AliEveTRDChamber() {}
53 void AddHit(AliTRDhit *hit);
54 Int_t GetRowMax() const {return fRowMax;}
55 Int_t GetColMax() const {return fColMax;}
56 Int_t GetTimeMax() const {return fTimeMax;}
59 Int_t GetPlane() const {return fPla;}
61 void LoadClusters(TObjArray *cs);
62 void LoadDigits(AliTRDdigitsManager *digits);
63 void LoadTracklets(TObjArray *ts);
64 void Paint(Option_t* option="");
66 void SetGeometry(AliTRDgeometry *geo);
69 AliEveTRDDigits *fDigits; // digits representation
70 AliEveTRDHits *fHits; // hits representation
71 AliEveTRDHits *fRecPoints; // cluster representation
72 std::vector<TEveTrack*> *fTracklets; // mcm tracklets
74 // data representation section
75 Int_t fRowMax; // number of rows for this pad plane
76 Int_t fColMax; // number of columns for this pad plane
77 Int_t fTimeMax; // number of timebins
78 Float_t fSamplingFrequency; // sampling frequency
79 Float_t fX0; // radial distance from vertex to the chamber
80 Int_t fPla; // detector plane
81 AliTRDpadPlane *fPadPlane; // pad plane object
82 AliTRDgeometry *fGeo; // TRD geometry
84 ClassDef(AliEveTRDChamber,1); // Holder for TRD chamber data
88 class AliEveTRDNode : public TEveElement, public AliEveTRDModule
91 AliEveTRDNode(const char *typ, Int_t det=0);
93 void Paint(Option_t* option="");
96 void Collapse(); // *MENU*
97 void Expand(); // *MENU*
98 void EnableListElements(); // *MENU*
99 void DisableListElements(); // *MENU*
103 List_i begin(){return fChildren.begin();}
104 List_i end(){return fChildren.end();}
106 ClassDef(AliEveTRDNode, 1);