From Bogdan: Major changes in cluster access, recently changed for the MUON.
[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 ALIEVE_MUONChamberGL_H
10 #define ALIEVE_MUONChamberGL_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
23   AliEveMUONChamberGL(const AliEveMUONChamberGL&);            // Not implemented
24   AliEveMUONChamberGL& operator=(const AliEveMUONChamberGL&); // Not implemented
25
26  protected:
27
28   virtual void DirectDraw(TGLRnrCtx & rnrCtx) const;
29   void DrawChamberFrame() const;
30   void DrawQuads(TGLRnrCtx& rnrCtx) const;
31   void DrawPoints() const;
32
33   AliEveMUONChamber       *fChamber; // Model object.
34   TEveQuadSetGL            fQS1;
35   TEveQuadSetGL            fQS2;
36
37   mutable UInt_t           fRTS;     // render time stamp
38
39  public:
40
41   AliEveMUONChamberGL();
42   virtual ~AliEveMUONChamberGL();
43
44   virtual Bool_t SetModel(TObject* obj, const Option_t* opt=0);
45   virtual void   SetBBox();
46
47   ClassDef(AliEveMUONChamberGL,1);   // the GL drawing class of one chamber
48
49 };
50
51 #endif