2 // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
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 **************************************************************************/
10 #ifndef AliEveTPCSector3D_H
11 #define AliEveTPCSector3D_H
13 #include <AliEveTPCSectorViz.h>
14 #include <AliEveTPCSectorData.h>
16 #include <TEveBoxSet.h>
17 #include <TEvePointSet.h>
19 //------------------------------------------------------------------------------
22 // Visualization of TPC raw-data in 3D.
24 class AliEveTPCSector3D : public AliEveTPCSectorViz
26 friend class AliEveTPCSector3DEditor;
27 friend class AliEveTPCSector3DGL;
30 AliEveTPCSector3D(const Text_t* n="AliEveTPCSector3D", const Text_t* t=0);
31 virtual ~AliEveTPCSector3D() {}
33 void SetPointFrac(Float_t f) { fPointFrac = f; IncRTS(); }
34 void SetPointSize(Float_t s) { fPointSize = s; }
36 void SetDriftVel(Float_t v) { fDriftVel = v; IncRTS(); }
37 void SetZStep(Float_t step) { fZStep = step; IncRTS(); }
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(); }
43 Float_t GetCutOnEta() { return fCutOnEta; }
44 Float_t GetEtaMax() { return fEtaMax; }
45 Float_t GetEtaMin() { return fEtaMin; }
47 virtual void SetRnrFrame(Bool_t rf);
49 virtual void ComputeBBox();
50 virtual void Paint(Option_t* option="");
53 void LoadPadrow(AliEveTPCSectorData::RowIterator& iter,
54 Float_t sx, Float_t sy, Float_t pw, Float_t ph);
55 void UpdateBoxesAndPoints();
56 void SetupPointSetArray();
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.
65 Float_t fDriftVel; // Drift velocity for 'z' coordinate.
66 Float_t fZStep; // Z width of a time-bin.
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
72 ClassDef(AliEveTPCSector3D, 0); // Visualization of TPC raw-data in 3D.