]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/EveDet/AliEveTRDModuleImp.h
Add includes missing after cleanup in root.
[u/mrichter/AliRoot.git] / EVE / EveDet / AliEveTRDModuleImp.h
CommitLineData
d810d0de 1// $Id$
2// Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
3
4/**************************************************************************
5 * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
6 * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for *
51346b82 7 * full copyright notice. *
d810d0de 8 **************************************************************************/
fd31e9de 9
a15e6d7d 10#ifndef AliEveTRDModuleImp_H
11#define AliEveTRDModuleImp_H
a282bf09 12
13/////////////////////////////////////////////////////////////////////////
14//
d810d0de 15// Implementation of AliEveTRDModule:
16// - AliEveTRDChamber - Data holder
51346b82 17// - AliEveTRDNode - Node structure
a282bf09 18//
19// by A.Bercuci (A.Bercuci@gsi.de) Fri Oct 27 2006
20/////////////////////////////////////////////////////////////////////////
21
0b28fd57 22#include <vector>
23
84aff7a4 24#include <TEveElement.h>
a282bf09 25
d810d0de 26#include "AliEveTRDModule.h"
a282bf09 27
a879a24a 28class TTree;
a282bf09 29class TObjArray;
6983e87a 30class TClonesArray;
a282bf09 31
84aff7a4 32class TEveTrack;
6983e87a 33class TEveGeoTopNode;
34
35class AliTRDgeometry;
36class AliTRDdataArrayI;
37class AliTRDdigitsManager;
84aff7a4 38
fd31e9de 39class AliEveTRDHits;
40class AliEveTRDDigits;
6bbacce9 41class AliTRDtrackingChamber;
fd31e9de 42class AliEveTRDChamber : public TEveElement, public AliEveTRDModule
43{
44 friend class AliEveTRDDigits;
45
fd31e9de 46public:
47
6983e87a 48 AliEveTRDChamber(Int_t det=-1);
fd31e9de 49 virtual ~AliEveTRDChamber() {}
50
6983e87a 51 Int_t GetNrows() const {return fNrows;}
52 Int_t GetNcols() const {return fNcols;}
53 Int_t GetNtime() const {return fNtime;}
fd31e9de 54
6983e87a 55 void LoadHits(TClonesArray *hits, Int_t &idx);
fd31e9de 56 void LoadClusters(TObjArray *cs);
6bbacce9 57 void LoadClusters(AliTRDtrackingChamber *tc);
fd31e9de 58 void LoadDigits(AliTRDdigitsManager *digits);
a879a24a 59 void LoadTracklets(TTree *trklTree);
6983e87a 60
fd31e9de 61 void Paint(Option_t* option="");
62 void Reset();
6983e87a 63
fd31e9de 64 void SetGeometry(AliTRDgeometry *geo);
6983e87a 65 void SetNtime(Int_t nt) {fNtime = nt;}
fd31e9de 66
67protected:
6983e87a 68 AliEveTRDDigits *fDigits; // digits representation
69 AliEveTRDHits *fHits; // hits representation
70 AliEveTRDHits *fRecPoints; // cluster representation
a879a24a 71 TClonesArray *fTracklets; // mcm tracklets
6983e87a 72 AliTRDgeometry *fGeo; // TRD geometry
73 TEveGeoTopNode *fShape; // rendarable geometry of the chamber
fd31e9de 74 // data representation section
6983e87a 75 Int_t fNrows; // number of rows for this pad plane
76 Int_t fNcols; // number of columns for this pad plane
77 Int_t fNtime; // number of timebins
fd31e9de 78
4b456ebb 79private:
80 AliEveTRDChamber(const AliEveTRDChamber&); // Not implemented.
81 AliEveTRDChamber& operator=(const AliEveTRDChamber&); // Not implemented.
82
83 ClassDef(AliEveTRDChamber, 0); // Holder for TRD chamber data
fd31e9de 84};
85
86
87class AliEveTRDNode : public TEveElement, public AliEveTRDModule
88{
89public:
90 AliEveTRDNode(const char *typ, Int_t det=0);
91
92 void Paint(Option_t* option="");
93 void Reset();
94
95 void Collapse(); // *MENU*
96 void Expand(); // *MENU*
97 void EnableListElements(); // *MENU*
98 void DisableListElements(); // *MENU*
99 void UpdateLeaves();
100 void UpdateNode();
101
4b456ebb 102 List_i begin() { return fChildren.begin(); }
103 List_i end() { return fChildren.end(); }
fd31e9de 104
4b456ebb 105 ClassDef(AliEveTRDNode, 0);
fd31e9de 106};
107
a282bf09 108#endif