21342c507dd530d2e1502ca4f34415744d762c29
[u/mrichter/AliRoot.git] / EVE / EveDet / AliEveMUONChamberGL.h
1 // $Id$
2 // Main authors: Matevz Tadel & Alja Mrak-Tadel & Bogdan Vulpescu: 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 #ifndef AliEveMUONChamberGL_H
10 #define AliEveMUONChamberGL_H
11
12 #include <TGLObject.h>
13 #include <TEveQuadSetGL.h>
14
15 class TEveQuadSetGL;
16
17
18 class AliEveMUONChamber;
19
20 class AliEveMUONChamberGL : public TGLObject
21 {
22   AliEveMUONChamberGL(const AliEveMUONChamberGL&);            // Not implemented
23   AliEveMUONChamberGL& operator=(const AliEveMUONChamberGL&); // Not implemented
24
25  protected:
26   virtual void DirectDraw(TGLRnrCtx & rnrCtx) const;
27   void DrawChamberFrame() const;
28   void DrawQuads(TGLRnrCtx& rnrCtx) const;
29   void DrawPoints() const;
30
31   AliEveMUONChamber       *fChamber; // Model object.
32   TEveQuadSetGL            fQS1;
33   TEveQuadSetGL            fQS2;
34
35   mutable UInt_t           fRTS;     // render time stamp
36
37  public:
38   AliEveMUONChamberGL();
39   virtual ~AliEveMUONChamberGL();
40
41   virtual Bool_t SetModel(TObject* obj, const Option_t* opt=0);
42   virtual void   SetBBox();
43
44   ClassDef(AliEveMUONChamberGL,1);   // the GL drawing class of one chamber
45
46 };
47
48 #endif