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 <EveDet/AliEveTPCSectorViz.h>
14 #include <EveDet/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 virtual void SetRnrFrame(Bool_t rf);
41 virtual void ComputeBBox();
42 virtual void Paint(Option_t* option="");
45 void LoadPadrow(AliEveTPCSectorData::RowIterator& iter,
46 Float_t sx, Float_t sy, Float_t pw, Float_t ph);
47 void UpdateBoxesAndPoints();
48 void SetupPointSetArray();
50 TEveBoxSet fBoxSet; // BoxSet used to display digits as boxes.
51 TEvePointSetArray fPointSetArray; // PointSet used to display digits as points.
52 Float_t fPointFrac; // Fraction of signal range shown as points.
53 Float_t fPointSize; // Point size.
54 Bool_t fPointSetOn; // PointSet initialized.
55 Int_t fPointSetMaxVal; // Maximum signal value for data in pointset.
57 Float_t fDriftVel; // Drift velocity for 'z' coordinate.
58 Float_t fZStep; // Z width of a time-bin.
60 ClassDef(AliEveTPCSector3D, 0); // Visualization of TPC raw-data in 3D.