]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/Alieve/AliEveTRDModuleImp.h
Put all classes in Alieve/ sub-module out of the Alieve namespace and
[u/mrichter/AliRoot.git] / EVE / Alieve / 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 *
7 * full copyright notice. *
8 **************************************************************************/
a282bf09 9#ifndef ALIEVE_TRDModuleImp_H
10#define ALIEVE_TRDModuleImp_H
11
12/////////////////////////////////////////////////////////////////////////
13//
d810d0de 14// Implementation of AliEveTRDModule:
15// - AliEveTRDChamber - Data holder
16// - AliEveTRDNode - Node structure
a282bf09 17//
18// by A.Bercuci (A.Bercuci@gsi.de) Fri Oct 27 2006
19/////////////////////////////////////////////////////////////////////////
20
0b28fd57 21#include <vector>
22
84aff7a4 23#include <TEveElement.h>
a282bf09 24
25#ifndef ALIEVE_TRDModule_H
d810d0de 26#include "AliEveTRDModule.h"
a282bf09 27#endif
28
29class AliTRDpadPlane;
30class AliTRDgeometry;
31class AliTRDhit;
32class AliTRDdataArrayI;
14217b5f 33class AliTRDdigitsManager;
a282bf09 34class TObjArray;
35
84aff7a4 36class TEveTrack;
37
d810d0de 38 class AliEveTRDHits;
39 class AliEveTRDDigits;
a282bf09 40
d810d0de 41 class AliEveTRDChamber : public TEveElement, public AliEveTRDModule
a282bf09 42 {
d810d0de 43 friend class AliEveTRDDigits;
a282bf09 44 public:
45
d810d0de 46 AliEveTRDChamber(Int_t det=0);
47 virtual ~AliEveTRDChamber() {}
a282bf09 48
d810d0de 49 AliEveTRDChamber(const AliEveTRDChamber&);
50 AliEveTRDChamber& operator=(const AliEveTRDChamber&);
a282bf09 51
52 void AddHit(AliTRDhit *hit);
edf0c4a0 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;}
a282bf09 59 void LoadClusters(TObjArray *cs);
14217b5f 60 void LoadDigits(AliTRDdigitsManager *digits);
a282bf09 61 void LoadTracklets(TObjArray *ts);
62 void Paint(Option_t* option="");
63 void Reset();
14217b5f 64 void SetGeometry(AliTRDgeometry *geo);
a282bf09 65
66 protected:
d810d0de 67 AliEveTRDDigits *fDigits; // digits representation
68 AliEveTRDHits *fHits; // hits representation
69 AliEveTRDHits *fRecPoints;// cluster representation
84aff7a4 70 std::vector<TEveTrack*> *fTracklets; // mcm tracklets
a282bf09 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
d810d0de 82 ClassDef(AliEveTRDChamber,1) // Holder for TRD chamber data
a282bf09 83 };
84
85
d810d0de 86 class AliEveTRDNode : public TEveElement, public AliEveTRDModule
a282bf09 87 {
88 public:
d810d0de 89 AliEveTRDNode(const char *typ, Int_t det=0);
a282bf09 90 void Paint(Option_t* option="");
91 void Reset();
92
14217b5f 93 void Collapse(); // *MENU*
a282bf09 94 void Expand(); // *MENU*
95 void EnableListElements(); // *MENU*
96 void DisableListElements(); // *MENU*
97 void UpdateLeaves();
98 void UpdateNode();
99
e6ac3950 100 List_i begin(){return fChildren.begin();}
101 List_i end(){return fChildren.end();}
a282bf09 102
d810d0de 103 ClassDef(AliEveTRDNode, 1)
a282bf09 104 };
a282bf09 105#endif