]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/Alieve/TPCSegment.h
added new class to Makefile
[u/mrichter/AliRoot.git] / EVE / Alieve / TPCSegment.h
1 #ifndef ALIEVE_TPCSegment_H
2 #define ALIEVE_TPCSegment_H
3
4 #include <Reve/RenderElement.h>
5
6 #include <Alieve/TPCDigitsInfo.h>
7
8 #include <TNamed.h> 
9 #include <TBuffer3D.h>
10 #include <TBuffer3DTypes.h>
11 #include <TGeometry.h>
12 #include <TVirtualPad.h>
13 #include <TVirtualViewer3D.h>
14 #include <TAtt3D.h>
15 #include <TAttBBox.h>
16
17
18 namespace Alieve {
19
20   class TPCSegmentEditor;
21   class TPCSegmentGL;
22
23   class TPCSegment : public TNamed, public TAtt3D, public TAttBBox, public Reve::RenderElement
24   {
25     friend class TPCSegmentGL;
26     friend class TPCSegmentEditor;
27   private:
28     void Init();
29
30   protected:
31     TPCDigitsInfo*      fInfo; 
32
33     Bool_t              fRnrFrame;
34     Bool_t              fUseTexture;
35     Color_t             fFrameCol;
36
37     // These change data representation:
38     Int_t               fID; 
39     Bool_t              fShowMax;
40     Int_t               fMinTime;     
41     Int_t               fMaxTime;
42     Short_t             fTreshold;
43     Int_t               fMaxVal;
44
45     Double_t            fMatrix[16];
46     Bool_t              fTrans;
47     UInt_t              fRTS;       //! Rendering TimeStamp
48
49   public:
50     TPCSegment(const Text_t* n="TPCSegment", const Text_t* t=0, Color_t col=2) : 
51       TNamed(n,t), Reve::RenderElement(fFrameCol), fFrameCol(col), fRTS(1)
52     { Init(); }
53
54
55     virtual ~TPCSegment();
56
57     void SetInfo(TPCDigitsInfo* diginfo);
58     virtual void SetSegmentID(Int_t id);
59
60     void SetShowMax(Bool_t sm)  { fShowMax  = sm; ++fRTS; }
61     void SetMinTime(Int_t mt)   { fMinTime  = mt; ++fRTS; }
62     void SetMaxTime(Int_t mt)   { fMaxTime  = mt; ++fRTS; }
63     void SetTreshold(Short_t t) { fTreshold =  t; ++fRTS; }
64     void SetMaxVal(Int_t mv)    { fMaxVal   = mv; ++fRTS; }
65
66     virtual void ComputeBBox();
67
68     virtual void Paint(Option_t* option = "");
69
70     virtual void SetTrans(Bool_t t);
71
72     virtual Bool_t CanEditMainColor()  { return true; }
73     ClassDef(TPCSegment, 1);
74   }; // endclass TPCSegment
75
76 }
77
78 #endif