]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/Alieve/AliEveTRDModuleImp.h
Put black-listed classes out of Alieve namespace.
[u/mrichter/AliRoot.git] / EVE / Alieve / AliEveTRDModuleImp.h
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          *
7  * full copyright notice.                                                 * 
8  **************************************************************************/
9 #ifndef ALIEVE_TRDModuleImp_H
10 #define ALIEVE_TRDModuleImp_H
11
12 /////////////////////////////////////////////////////////////////////////
13 //
14 // Implementation of AliEveTRDModule:
15 //    - AliEveTRDChamber - Data holder
16 //    - AliEveTRDNode    - Node structure 
17 //
18 // by A.Bercuci (A.Bercuci@gsi.de)   Fri Oct 27 2006
19 /////////////////////////////////////////////////////////////////////////
20
21 #include <vector>
22
23 #include <TEveElement.h>
24
25 #ifndef ALIEVE_TRDModule_H
26 #include "AliEveTRDModule.h"
27 #endif
28
29 class AliTRDpadPlane;
30 class AliTRDgeometry;
31 class AliTRDhit;
32 class AliTRDdataArrayI;
33 class AliTRDdigitsManager;
34 class TObjArray;
35
36 class TEveTrack;
37
38         class AliEveTRDHits;
39         class AliEveTRDDigits;
40
41         class AliEveTRDChamber : public TEveElement, public AliEveTRDModule
42         {
43         friend class AliEveTRDDigits;
44         public:
45         
46                 AliEveTRDChamber(Int_t det=0);
47                 virtual ~AliEveTRDChamber() {}
48         
49                 AliEveTRDChamber(const AliEveTRDChamber&);
50                 AliEveTRDChamber& operator=(const AliEveTRDChamber&);
51                 
52                 void    AddHit(AliTRDhit *hit);
53                 Int_t   GetRowMax() const {return rowMax;}
54                 Int_t   GetColMax() const {return colMax;}
55                 Int_t   GetTimeMax() const {return timeMax;}
56                 Int_t   GetSM() const;
57                 Int_t   GetSTK() const;
58                 Int_t   GetPlane() const {return fPla;}
59                 void    LoadClusters(TObjArray *cs);
60                 void    LoadDigits(AliTRDdigitsManager *digits);
61                 void    LoadTracklets(TObjArray *ts);
62                 void    Paint(Option_t* option="");
63                 void    Reset();
64                 void    SetGeometry(AliTRDgeometry *geo);
65                 
66         protected:
67                 AliEveTRDDigits *fDigits;   // digits representation
68                 AliEveTRDHits           *fHits;     // hits representation
69                 AliEveTRDHits           *fRecPoints;// cluster representation
70                 std::vector<TEveTrack*> *fTracklets; // mcm tracklets
71
72                 // data representation section
73                 Int_t           rowMax; // number of rows for this pad plane
74         Int_t           colMax; // number of columns for this pad plane
75         Int_t           timeMax; // number of timebins
76                 Float_t samplingFrequency; // sampling frequency
77                 Float_t fX0; // radial distance from vertex to the chamber
78                 Int_t           fPla; // detector plane
79                 AliTRDpadPlane *fPadPlane; // pad plane object
80                 AliTRDgeometry *fGeo; // TRD geometry
81         
82         ClassDef(AliEveTRDChamber,1) // Holder for TRD chamber data
83         };
84
85         
86         class AliEveTRDNode : public TEveElement, public AliEveTRDModule
87         {
88         public:
89                 AliEveTRDNode(const char *typ, Int_t det=0);
90                 void    Paint(Option_t* option="");
91                 void    Reset();
92
93                 void    Collapse(); // *MENU*
94                 void    Expand(); // *MENU*
95                 void    EnableListElements(); // *MENU*
96                 void    DisableListElements(); // *MENU*
97                 void    UpdateLeaves();
98                 void    UpdateNode();
99                 
100                 List_i begin(){return fChildren.begin();}
101                 List_i end(){return fChildren.end();}
102         
103         ClassDef(AliEveTRDNode, 1)
104         };
105 #endif