3 #ifndef ALIEVE_TPCSector2DGL_H
4 #define ALIEVE_TPCSector2DGL_H
8 #include <Alieve/TPCSector2D.h>
9 #include <Alieve/TPCSectorData.h>
14 class TPCSector2DGL : public TGLObject
17 virtual void DirectDraw(const TGLDrawFlags & flags) const;
19 void LoadPadrow(TPCSectorData::RowIterator& iter, Int_t row, Int_t off) const;
20 void CreateTexture() const;
22 void DisplayTexture(Float_t padW, Float_t padH, Float_t startR,
23 Int_t numMaxPads, Int_t numRows,
24 Int_t startCol, Int_t startRow) const;
25 void DisplayQuads (Float_t padW, Float_t padH, Float_t startR,
26 Int_t numMaxPads, Int_t numRows,
27 Int_t startCol, Int_t startRow) const;
28 void DisplayFrame () const;
30 UChar_t* GetRowCol(Int_t row, Int_t col) const;
33 mutable TPCSectorData* fSectorData;
35 mutable UChar_t* fImage;
36 mutable UInt_t fTexture;
41 virtual ~TPCSector2DGL();
43 virtual Bool_t SetModel(TObject* obj);
44 virtual void SetBBox();
46 static void TraceStepsUp (const TPCSectorData::SegmentInfo& s);
47 static void TraceStepsDown(const TPCSectorData::SegmentInfo& s);
49 static const Int_t fgkTextureWidth;
50 static const Int_t fgkTextureHeight;
51 static const Int_t fgkTextureByteSize;
53 }; // endclass TPCSector2D_GL_Rnr
56 inline UChar_t* TPCSector2DGL::GetRowCol(Int_t row, Int_t col) const
58 return fImage + 4*(row*fgkTextureWidth + col);