* See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for *
* full copyright notice. *
**************************************************************************/
-#ifndef ALIEVE_TRDModuleImp_H
-#define ALIEVE_TRDModuleImp_H
+
+#ifndef AliEveTRDModuleImp_H
+#define AliEveTRDModuleImp_H
/////////////////////////////////////////////////////////////////////////
//
#include <TEveElement.h>
-#ifndef ALIEVE_TRDModule_H
#include "AliEveTRDModule.h"
-#endif
-class AliTRDpadPlane;
+class TTree;
+class TObjArray;
+class TClonesArray;
+
+class TEveTrack;
+class TEveGeoTopNode;
+
class AliTRDgeometry;
-class AliTRDhit;
class AliTRDdataArrayI;
class AliTRDdigitsManager;
-class TObjArray;
-class TEveTrack;
+class AliEveTRDHits;
+class AliEveTRDDigits;
+class AliTRDtrackingChamber;
+class AliEveTRDChamber : public TEveElement, public AliEveTRDModule
+{
+ friend class AliEveTRDDigits;
+
+public:
+
+ AliEveTRDChamber(Int_t det=-1);
+ virtual ~AliEveTRDChamber() {}
+
+ Int_t GetNrows() const {return fNrows;}
+ Int_t GetNcols() const {return fNcols;}
+ Int_t GetNtime() const {return fNtime;}
+
+ void LoadHits(TClonesArray *hits, Int_t &idx);
+ void LoadClusters(TObjArray *cs);
+ void LoadClusters(AliTRDtrackingChamber *tc);
+ void LoadDigits(AliTRDdigitsManager *digits);
+ void LoadTracklets(TTree *trklTree);
+
+ void SetGeometry(AliTRDgeometry *geo);
+ void SetNtime(Int_t nt) {fNtime = nt;}
+
+protected:
+ AliEveTRDDigits *fDigits; // digits representation
+ AliEveTRDHits *fHits; // hits representation
+ AliEveTRDHits *fRecPoints; // cluster representation
+ TClonesArray *fTracklets; // mcm tracklets
+ AliTRDgeometry *fGeo; // TRD geometry
+ TEveGeoTopNode *fShape; // rendarable geometry of the chamber
+ // data representation section
+ Int_t fNrows; // number of rows for this pad plane
+ Int_t fNcols; // number of columns for this pad plane
+ Int_t fNtime; // number of timebins
+
+private:
+ AliEveTRDChamber(const AliEveTRDChamber&); // Not implemented.
+ AliEveTRDChamber& operator=(const AliEveTRDChamber&); // Not implemented.
+
+ ClassDef(AliEveTRDChamber, 0); // Holder for TRD chamber data
+};
+
+
+class AliEveTRDNode : public TEveElement, public AliEveTRDModule
+{
+public:
+ AliEveTRDNode(const char *typ, Int_t det=0);
+
+ void Paint(Option_t* option="");
+ void Reset();
+
+ void Collapse(); // *MENU*
+ void Expand(); // *MENU*
+ void EnableListElements(Bool_t rnr_self = kTRUE, Bool_t rnr_children = kTRUE); // *MENU*
+ void DisableListElements(Bool_t rnr_self = kTRUE, Bool_t rnr_children = kTRUE); // *MENU*
+ void UpdateLeaves();
+ void UpdateNode();
+
+ List_i begin() { return fChildren.begin(); }
+ List_i end() { return fChildren.end(); }
+
+ ClassDef(AliEveTRDNode, 0);
+};
- class AliEveTRDHits;
- class AliEveTRDDigits;
-
- class AliEveTRDChamber : public TEveElement, public AliEveTRDModule
- {
- friend class AliEveTRDDigits;
- public:
-
- AliEveTRDChamber(Int_t det=0);
- virtual ~AliEveTRDChamber() {}
-
- AliEveTRDChamber(const AliEveTRDChamber&);
- AliEveTRDChamber& operator=(const AliEveTRDChamber&);
-
- void AddHit(AliTRDhit *hit);
- Int_t GetRowMax() const {return rowMax;}
- Int_t GetColMax() const {return colMax;}
- Int_t GetTimeMax() const {return timeMax;}
- Int_t GetSM() const;
- Int_t GetSTK() const;
- Int_t GetPlane() const {return fPla;}
- void LoadClusters(TObjArray *cs);
- void LoadDigits(AliTRDdigitsManager *digits);
- void LoadTracklets(TObjArray *ts);
- void Paint(Option_t* option="");
- void Reset();
- void SetGeometry(AliTRDgeometry *geo);
-
- protected:
- AliEveTRDDigits *fDigits; // digits representation
- AliEveTRDHits *fHits; // hits representation
- AliEveTRDHits *fRecPoints;// cluster representation
- std::vector<TEveTrack*> *fTracklets; // mcm tracklets
-
- // data representation section
- Int_t rowMax; // number of rows for this pad plane
- Int_t colMax; // number of columns for this pad plane
- Int_t timeMax; // number of timebins
- Float_t samplingFrequency; // sampling frequency
- Float_t fX0; // radial distance from vertex to the chamber
- Int_t fPla; // detector plane
- AliTRDpadPlane *fPadPlane; // pad plane object
- AliTRDgeometry *fGeo; // TRD geometry
-
- ClassDef(AliEveTRDChamber,1) // Holder for TRD chamber data
- };
-
-
- class AliEveTRDNode : public TEveElement, public AliEveTRDModule
- {
- public:
- AliEveTRDNode(const char *typ, Int_t det=0);
- void Paint(Option_t* option="");
- void Reset();
-
- void Collapse(); // *MENU*
- void Expand(); // *MENU*
- void EnableListElements(); // *MENU*
- void DisableListElements(); // *MENU*
- void UpdateLeaves();
- void UpdateNode();
-
- List_i begin(){return fChildren.begin();}
- List_i end(){return fChildren.end();}
-
- ClassDef(AliEveTRDNode, 1)
- };
#endif