]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/EveDet/AliEveTPCSector3D.h
Coverity
[u/mrichter/AliRoot.git] / EVE / EveDet / AliEveTPCSector3D.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
10 #ifndef AliEveTPCSector3D_H
11 #define AliEveTPCSector3D_H
12
13 #include <EveDet/AliEveTPCSectorViz.h>
14 #include <EveDet/AliEveTPCSectorData.h>
15
16 #include <TEveBoxSet.h>
17 #include <TEvePointSet.h>
18
19 //------------------------------------------------------------------------------
20 // AliEveTPCSector3D
21 //
22 // Visualization of TPC raw-data in 3D.
23
24 class AliEveTPCSector3D : public AliEveTPCSectorViz
25 {
26   friend class AliEveTPCSector3DEditor;
27   friend class AliEveTPCSector3DGL;
28
29 public:
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
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
47   virtual void SetRnrFrame(Bool_t rf);
48
49   virtual void ComputeBBox();
50   virtual void Paint(Option_t* option="");
51
52 protected:
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();
57
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.
64
65   Float_t             fDriftVel;        // Drift velocity for 'z' coordinate.
66   Float_t             fZStep;           // Z width of a time-bin.
67
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
72   ClassDef(AliEveTPCSector3D, 0); // Visualization of TPC raw-data in 3D.
73 };
74
75 #endif