]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/EveDet/AliEveTPCSector3D.h
Adding ALICE specific implementation of Eve
[u/mrichter/AliRoot.git] / EVE / EveDet / AliEveTPCSector3D.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 **************************************************************************/
9
a15e6d7d 10#ifndef AliEveTPCSector3D_H
11#define AliEveTPCSector3D_H
d810d0de 12
6c49a8e1 13#include <AliEveTPCSectorViz.h>
14#include <AliEveTPCSectorData.h>
d810d0de 15
16#include <TEveBoxSet.h>
17#include <TEvePointSet.h>
18
a15e6d7d 19//------------------------------------------------------------------------------
20// AliEveTPCSector3D
21//
22// Visualization of TPC raw-data in 3D.
d810d0de 23
24class AliEveTPCSector3D : public AliEveTPCSectorViz
25{
26 friend class AliEveTPCSector3DEditor;
27 friend class AliEveTPCSector3DGL;
28
4b456ebb 29public:
30 AliEveTPCSector3D(const Text_t* n="AliEveTPCSector3D", const Text_t* t=0);
31 virtual ~AliEveTPCSector3D() {}
32
33 void SetPointFrac(Float_t f) { fPointFrac = f; IncRTS(); }
34 void SetPointSize(Float_t s) { fPointSize = s; }
35
36 void SetDriftVel(Float_t v) { fDriftVel = v; IncRTS(); }
37 void SetZStep(Float_t step) { fZStep = step; IncRTS(); }
38
969e051c 39 void SetCutOnEta(Bool_t cut) { fCutOnEta = cut; IncRTS(); }
40 void SetEtaMax(Float_t max) { fEtaMax = max; IncRTS(); }
41 void SetEtaMin(Float_t min) { fEtaMin = min; IncRTS(); }
42
43 Float_t GetCutOnEta() { return fCutOnEta; }
44 Float_t GetEtaMax() { return fEtaMax; }
45 Float_t GetEtaMin() { return fEtaMin; }
46
4b456ebb 47 virtual void SetRnrFrame(Bool_t rf);
48
49 virtual void ComputeBBox();
50 virtual void Paint(Option_t* option="");
51
d810d0de 52protected:
53 void LoadPadrow(AliEveTPCSectorData::RowIterator& iter,
54 Float_t sx, Float_t sy, Float_t pw, Float_t ph);
a97abca8 55 void UpdateBoxesAndPoints();
d810d0de 56 void SetupPointSetArray();
57
a97abca8 58 TEveBoxSet fBoxSet; // BoxSet used to display digits as boxes.
59 TEvePointSetArray fPointSetArray; // PointSet used to display digits as points.
60 Float_t fPointFrac; // Fraction of signal range shown as points.
61 Float_t fPointSize; // Point size.
62 Bool_t fPointSetOn; // PointSet initialized.
63 Int_t fPointSetMaxVal; // Maximum signal value for data in pointset.
d810d0de 64
a97abca8 65 Float_t fDriftVel; // Drift velocity for 'z' coordinate.
66 Float_t fZStep; // Z width of a time-bin.
d810d0de 67
969e051c 68 Bool_t fCutOnEta; // Bool used to apply eta cut
69 Float_t fEtaMin; // Minimum eta value for eta cut
70 Float_t fEtaMax; // Maximum eta value for eta cut
71
4b456ebb 72 ClassDef(AliEveTPCSector3D, 0); // Visualization of TPC raw-data in 3D.
a97abca8 73};
d810d0de 74
75#endif