]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/EveDet/AliEveTPCSector3D.h
Merge changes from branches/dev/EVE. This branch was following development in ROOT...
[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 protected:
30   void LoadPadrow(AliEveTPCSectorData::RowIterator& iter,
31                   Float_t sx, Float_t sy, Float_t pw, Float_t ph);
32   void UpdateBoxesAndPoints();
33   void SetupPointSetArray();
34
35   TEveBoxSet          fBoxSet;          // BoxSet used to display digits as boxes.
36   TEvePointSetArray   fPointSetArray;   // PointSet used to display digits as points.
37   Float_t             fPointFrac;       // Fraction of signal range shown as points.
38   Float_t             fPointSize;       // Point size.
39   Bool_t              fPointSetOn;      // PointSet initialized.
40   Int_t               fPointSetMaxVal;  // Maximum signal value for data in pointset.
41
42   Float_t             fDriftVel;        // Drift velocity for 'z' coordinate.
43   Float_t             fZStep;           // Z width of a time-bin.
44
45 public:
46   AliEveTPCSector3D(const Text_t* n="AliEveTPCSector3D", const Text_t* t=0);
47   virtual ~AliEveTPCSector3D() {}
48
49   void SetPointFrac(Float_t f) { fPointFrac = f; IncRTS(); }
50   void SetPointSize(Float_t s) { fPointSize = s; }
51
52   void SetDriftVel(Float_t v) { fDriftVel = v; IncRTS(); }
53   void SetZStep(Float_t step) { fZStep = step; IncRTS(); }
54
55   virtual void SetRnrFrame(Bool_t rf);
56
57   virtual void ComputeBBox();
58   virtual void Paint(Option_t* option="");
59
60   ClassDef(AliEveTPCSector3D, 1); // Visualization of TPC raw-data in 3D.
61 };
62
63 #endif