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"
36 class AliTRDdataArrayI;
37 class AliTRDdigitsManager;
40 class AliEveTRDDigits;
41 class AliTRDtrackingChamber;
42 class AliEveTRDChamber : public TEveElement, public AliEveTRDModule
44 friend class AliEveTRDDigits;
48 AliEveTRDChamber(Int_t det=-1);
49 virtual ~AliEveTRDChamber() {}
51 Int_t GetNrows() const {return fNrows;}
52 Int_t GetNcols() const {return fNcols;}
53 Int_t GetNtime() const {return fNtime;}
55 void LoadHits(TClonesArray *hits, Int_t &idx);
56 void LoadClusters(TObjArray *cs);
57 void LoadClusters(AliTRDtrackingChamber *tc);
58 void LoadDigits(AliTRDdigitsManager *digits);
59 void LoadTracklets(TTree *trklTree);
61 void SetGeometry(AliTRDgeometry *geo);
62 void SetNtime(Int_t nt) {fNtime = nt;}
65 AliEveTRDDigits *fDigits; // digits representation
66 AliEveTRDHits *fHits; // hits representation
67 AliEveTRDHits *fRecPoints; // cluster representation
68 TClonesArray *fTracklets; // mcm tracklets
69 AliTRDgeometry *fGeo; // TRD geometry
70 TEveGeoTopNode *fShape; // rendarable geometry of the chamber
71 // data representation section
72 Int_t fNrows; // number of rows for this pad plane
73 Int_t fNcols; // number of columns for this pad plane
74 Int_t fNtime; // number of timebins
77 AliEveTRDChamber(const AliEveTRDChamber&); // Not implemented.
78 AliEveTRDChamber& operator=(const AliEveTRDChamber&); // Not implemented.
80 ClassDef(AliEveTRDChamber, 0); // Holder for TRD chamber data
84 class AliEveTRDNode : public TEveElement, public AliEveTRDModule
87 AliEveTRDNode(const char *typ, Int_t det=0);
89 void Paint(Option_t* option="");
92 void Collapse(); // *MENU*
93 void Expand(); // *MENU*
94 void EnableListElements(Bool_t rnr_self = kTRUE, Bool_t rnr_children = kTRUE); // *MENU*
95 void DisableListElements(Bool_t rnr_self = kTRUE, Bool_t rnr_children = kTRUE); // *MENU*
99 List_i begin() { return fChildren.begin(); }
100 List_i end() { return fChildren.end(); }
102 ClassDef(AliEveTRDNode, 0);