#ifndef ROOT_TGeoAtt
#define ROOT_TGeoAtt
#ifndef ROOT_TObject
#include "TObject.h"
#endif
class TGeoAtt
{
public:
  enum {
      kBitMask          = 0x00ffffff        
   };
   enum EGeoVisibilityAtt {
      kVisOverride      = BIT(0),           
      kVisNone          = BIT(1),           
      kVisThis          = BIT(2),           
      kVisDaughters     = BIT(3),           
      kVisOneLevel      = BIT(4),           
      kVisStreamed      = BIT(5),           
      kVisTouched       = BIT(6),           
      kVisOnScreen      = BIT(7),           
      kVisContainers    = BIT(12),          
      kVisOnly          = BIT(13),          
      kVisBranch        = BIT(14),          
      kVisRaytrace      = BIT(15)           
   };                          
   enum EGeoActivityAtt   {
      kActOverride      = BIT(8),           
      kActNone          = BIT(9),           
      kActThis          = BIT(10),           
      kActDaughters     = BIT(11)            
   };                          
   enum EGeoOptimizationAtt {
      kUseBoundingBox   = BIT(16),           
      kUseVoxels        = BIT(17),           
      kUseGsord         = BIT(18)            
   };                          
   enum EGeoSavePrimitiveAtt {
      kSavePrimitiveAtt = BIT(19),
      kSaveNodesAtt     = BIT(20)
   };                          
protected :
   UInt_t                fGeoAtt;            
public:
   
   TGeoAtt();
   TGeoAtt(Option_t *vis_opt, Option_t *activity_opt="", Option_t *optimization_opt="");
   
   virtual ~TGeoAtt();
   
   void                SetAttBit(UInt_t f)   {fGeoAtt |= f & kBitMask;}
   void                SetAttBit(UInt_t f, Bool_t set) {(set)?SetAttBit(f):ResetAttBit(f);};
   void                ResetAttBit(UInt_t f) {fGeoAtt &= ~(f & kBitMask);}
   Bool_t              TestAttBit(UInt_t f) const {return (Bool_t)((fGeoAtt & f) != 0);}
   void                SetVisRaytrace(Bool_t flag=kTRUE) {SetAttBit(kVisRaytrace, flag);}
   void                SetVisBranch(); 
   virtual void        SetVisContainers(Bool_t flag=kTRUE);
   virtual void        SetVisLeaves(Bool_t flag=kTRUE);
   virtual void        SetVisOnly(Bool_t flag=kTRUE);
   virtual void        SetVisibility(Bool_t vis=kTRUE);
   void                SetVisDaughters(Bool_t vis=kTRUE);
   void                SetVisStreamed(Bool_t vis=kTRUE);
   void                SetVisTouched(Bool_t vis=kTRUE);
   void                SetActivity(Bool_t flag=kTRUE) {SetAttBit(kActThis, flag);}
   void                SetActiveDaughters(Bool_t flag=kTRUE) {SetAttBit(kActDaughters,flag);}
   
   void                SetOptimization(Option_t *option);
   
   Bool_t              IsActive() const {return TestAttBit(kActThis);}
   Bool_t              IsActiveDaughters() const {return TestAttBit(kActDaughters);}
   Bool_t              IsVisRaytrace() const {return TestAttBit(kVisRaytrace);}
   Bool_t              IsVisible() const {return TestAttBit(kVisThis);}
   Bool_t              IsVisDaughters() const {return TestAttBit(kVisDaughters);}
   Bool_t              IsVisBranch() const {return TestAttBit(kVisBranch);}
   Bool_t              IsVisContainers() const {return TestAttBit(kVisContainers);}
   Bool_t              IsVisLeaves() const {return !TestAttBit(kVisContainers | kVisOnly | kVisBranch);}
   Bool_t              IsVisOnly() const {return TestAttBit(kVisOnly);}
   
   Bool_t              IsVisStreamed() const {return TestAttBit(kVisStreamed);}
   Bool_t              IsVisTouched() const {return TestAttBit(kVisTouched);}
   ClassDef(TGeoAtt, 1)         
};
#endif
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.