]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/EveDet/AliEveTRDModuleImp.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[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 SetGeometry(AliTRDgeometry *geo);
6983e87a 62 void SetNtime(Int_t nt) {fNtime = nt;}
fd31e9de 63
64protected:
6983e87a 65 AliEveTRDDigits *fDigits; // digits representation
66 AliEveTRDHits *fHits; // hits representation
67 AliEveTRDHits *fRecPoints; // cluster representation
a879a24a 68 TClonesArray *fTracklets; // mcm tracklets
6983e87a 69 AliTRDgeometry *fGeo; // TRD geometry
70 TEveGeoTopNode *fShape; // rendarable geometry of the chamber
fd31e9de 71 // data representation section
6983e87a 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
fd31e9de 75
4b456ebb 76private:
77 AliEveTRDChamber(const AliEveTRDChamber&); // Not implemented.
78 AliEveTRDChamber& operator=(const AliEveTRDChamber&); // Not implemented.
79
80 ClassDef(AliEveTRDChamber, 0); // Holder for TRD chamber data
fd31e9de 81};
82
83
84class AliEveTRDNode : public TEveElement, public AliEveTRDModule
85{
86public:
87 AliEveTRDNode(const char *typ, Int_t det=0);
88
89 void Paint(Option_t* option="");
90 void Reset();
91
92 void Collapse(); // *MENU*
93 void Expand(); // *MENU*
e11486f9 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*
fd31e9de 96 void UpdateLeaves();
97 void UpdateNode();
98
4b456ebb 99 List_i begin() { return fChildren.begin(); }
100 List_i end() { return fChildren.end(); }
fd31e9de 101
4b456ebb 102 ClassDef(AliEveTRDNode, 0);
fd31e9de 103};
104
a282bf09 105#endif