#ifndef ROOT_TGeoOverlap
#define ROOT_TGeoOverlap
#ifndef ROOT_TNamed
#include "TNamed.h"
#endif
#ifndef ROOT_TAttLine
#include "TAttLine.h"
#endif
#ifndef ROOT_TAttFill
#include "TAttFill.h"
#endif
#ifndef ROOT_TAtt3D
#include "TAtt3D.h"
#endif
#ifndef ROOT_TGeoMatrix
#include "TGeoMatrix.h"
#endif
class TGeoVolume;
class TPolyMarker3D;
class TBrowser;
class TGeoOverlap : public TNamed,
                    public TAttLine,
                    public TAttFill,
                    public TAtt3D
{
public:
enum EOverlapType {
   kGeoOverlap    = BIT(14),
   kGeoExtrusion  = BIT(15)
};
   
protected:
   Double_t         fOverlap;     
   TGeoVolume      *fVolume1;     
   TGeoVolume      *fVolume2;     
   TGeoHMatrix     *fMatrix1;     
   TGeoHMatrix     *fMatrix2;     
   TPolyMarker3D   *fMarker;     
public:
   TGeoOverlap();
   TGeoOverlap(const char *name, TGeoVolume *vol1, TGeoVolume *vol2,
               const TGeoMatrix *matrix1, const TGeoMatrix *matrix2,
               Bool_t isovlp=kTRUE,  Double_t ovlp=0.01);
   virtual           ~TGeoOverlap();
   
   void              Browse(TBrowser *b);
   virtual Int_t     Compare(const TObject *obj) const;
   virtual Int_t     DistancetoPrimitive(Int_t px, Int_t py);
   virtual void      Draw(Option_t *option=""); 
   virtual void      ExecuteEvent(Int_t event, Int_t px, Int_t py);
   TPolyMarker3D    *GetPolyMarker() const {return fMarker;}
   TGeoVolume       *GetFirstVolume() const {return fVolume1;}
   TGeoVolume       *GetSecondVolume() const {return fVolume2;}
   TGeoHMatrix      *GetFirstMatrix() const {return fMatrix1;}
   TGeoHMatrix      *GetSecondMatrix() const {return fMatrix2;}
   Double_t          GetOverlap() const {return fOverlap;}
   Bool_t            IsExtrusion() const {return TObject::TestBit(kGeoExtrusion);}
   Bool_t            IsOverlap() const {return TObject::TestBit(kGeoOverlap);}
   Bool_t            IsFolder() const {return kFALSE;}
   virtual Bool_t    IsSortable() const {return kTRUE;}
   virtual void      Paint(Option_t *option="");
   virtual void      Print(Option_t *option="") const; 
   virtual void      PrintInfo() const;
   virtual void      Sizeof3D() const;
   void              SetIsExtrusion(Bool_t flag=kTRUE) {TObject::SetBit(kGeoExtrusion,flag); TObject::SetBit(kGeoOverlap,!flag);}
   void              SetIsOverlap(Bool_t flag=kTRUE) {TObject::SetBit(kGeoOverlap,flag); TObject::SetBit(kGeoExtrusion,!flag);}
   void              SetNextPoint(Double_t x, Double_t y, Double_t z);
   void              SetFirstVolume(TGeoVolume *vol) {fVolume1=vol;}
   void              SetSecondVolume(TGeoVolume *vol) {fVolume2=vol;}
   void              SetFirstMatrix(TGeoMatrix *matrix) {*fMatrix1 = matrix;}
   void              SetSecondMatrix(TGeoMatrix *matrix) {*fMatrix2 = matrix;}
   void              SetOverlap(Double_t ovlp)  {fOverlap=ovlp;}
   
   ClassDef(TGeoOverlap, 2)         
};
      
#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.