class TGeoOverlap: public TNamed, public TAttLine, public TAttFill, public TAtt3D

 TGeoOverlap - base class describing geometry overlaps. Overlaps apply
   to the nodes contained inside a volume. These should not overlap to
   each other nor extrude the shape of their mother volume.

Function Members (Methods)

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()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidBrowse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tCompare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")MENU
Int_tTAttLine::DistancetoLine(Int_t px, Int_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2)
virtual Int_tDistancetoPrimitive(Int_t px, Int_t py)
virtual voidDraw(Option_t* option = "")MENU
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Color_tTAttFill::GetFillColor() const
virtual Style_tTAttFill::GetFillStyle() const
TGeoHMatrix*GetFirstMatrix() const
TGeoVolume*GetFirstVolume() const
virtual const char*TObject::GetIconName() const
virtual Color_tTAttLine::GetLineColor() const
virtual Style_tTAttLine::GetLineStyle() const
virtual Width_tTAttLine::GetLineWidth() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Double_tGetOverlap() const
TPolyMarker3D*GetPolyMarker() const
TGeoHMatrix*GetSecondMatrix() const
TGeoVolume*GetSecondVolume() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
Bool_tIsExtrusion() const
virtual Bool_tIsFolder() const
Bool_tTObject::IsOnHeap() const
Bool_tIsOverlap() const
virtual Bool_tIsSortable() const
virtual Bool_tTAttFill::IsTransparent() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual voidTAttLine::Modify()
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidPaint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* option = "") constMENU
virtual voidPrintInfo() const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual voidTAttFill::ResetAttFill(Option_t* option = "")
virtual voidTAttLine::ResetAttLine(Option_t* option = "")
voidTObject::ResetBit(UInt_t f)
voidSampleOverlap(Int_t npoints = 1000000)MENU
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTAttFill::SaveFillAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1001)
virtual voidTAttLine::SaveLineAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1, Int_t widdef = 1)
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTAttFill::SetFillAttributes()MENU
virtual voidTAttFill::SetFillColor(Color_t fcolor)
virtual voidTAttFill::SetFillStyle(Style_t fstyle)
voidSetFirstMatrix(TGeoMatrix* matrix)
voidSetFirstVolume(TGeoVolume* vol)
voidSetIsExtrusion(Bool_t flag = kTRUE)
voidSetIsOverlap(Bool_t flag = kTRUE)
virtual voidTAttLine::SetLineAttributes()MENU
virtual voidTAttLine::SetLineColor(Color_t lcolor)
virtual voidTAttLine::SetLineStyle(Style_t lstyle)
virtual voidTAttLine::SetLineWidth(Width_t lwidth)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
voidSetNextPoint(Double_t x, Double_t y, Double_t z)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetOverlap(Double_t ovlp)
voidSetSecondMatrix(TGeoMatrix* matrix)
voidSetSecondVolume(TGeoVolume* vol)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual Int_tTNamed::Sizeof() const
virtual voidSizeof3D() const
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
TGeoOverlap(const TGeoOverlap&)
TGeoOverlap&operator=(const TGeoOverlap&)

Data Members

public:
enum EOverlapType { kGeoOverlap
kGeoExtrusion
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Color_tTAttFill::fFillColorfill area color
Style_tTAttFill::fFillStylefill area style
Color_tTAttLine::fLineColorline color
Style_tTAttLine::fLineStyleline style
Width_tTAttLine::fLineWidthline width
TPolyMarker3D*fMarkerpoints in the overlapping region
TGeoHMatrix*fMatrix1positioning matrix for first volume
TGeoHMatrix*fMatrix2positioning matrix for second volume
TStringTNamed::fNameobject identifier
Double_tfOverlapoverlap distance
TStringTNamed::fTitleobject title
TGeoVolume*fVolume1first volume
TGeoVolume*fVolume2second volume

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TGeoOverlap(const TGeoOverlap& )
 Default ctor.
TGeoOverlap(const char* name, TGeoVolume* vol1, TGeoVolume* vol2, const TGeoMatrix* matrix1, const TGeoMatrix* matrix2, Bool_t isovlp = kTRUE, Double_t ovlp = 0.01)
 Creates a named overlap belonging to volume VOL and having the size OVLP.
~TGeoOverlap()
 Destructor.
void Browse(TBrowser* b)
 Define double-click action
Int_t Compare(const TObject* obj) const
 Method to compare this overlap with another. Returns :
   -1 - this is smaller than OBJ
    0 - equal
    1 - greater
Int_t DistancetoPrimitive(Int_t px, Int_t py)
 Distance to primitive for an overlap.
void Draw(Option_t* option = "")
 Draw the overlap. One daughter will be blue, the other green,
 extruding points red.
void ExecuteEvent(Int_t event, Int_t px, Int_t py)
 Event interception.
void Paint(Option_t* option = "")
 Paint the overlap.
void Print(Option_t* option = "") const
 Print detailed info.
void PrintInfo()
 Print some info.
void SetNextPoint(Double_t x, Double_t y, Double_t z)
 Set next overlapping point.
void SampleOverlap(Int_t npoints = 1000000)
 Draw overlap and sample with random points the overlapping region.
void Sizeof3D()
 Get 3D size of this.
TGeoOverlap(const TGeoOverlap& )
TGeoOverlap& operator=(const TGeoOverlap& )
TPolyMarker3D * GetPolyMarker()
{return fMarker;}
TGeoVolume * GetFirstVolume()
{return fVolume1;}
TGeoVolume * GetSecondVolume()
{return fVolume2;}
TGeoHMatrix * GetFirstMatrix()
{return fMatrix1;}
TGeoHMatrix * GetSecondMatrix()
{return fMatrix2;}
Double_t GetOverlap()
{return fOverlap;}
Bool_t IsExtrusion()
{return TObject::TestBit(kGeoExtrusion);}
Bool_t IsOverlap()
{return TObject::TestBit(kGeoOverlap);}
Bool_t IsFolder()
{return kFALSE;}
Bool_t IsSortable()
{return kTRUE;}
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 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;}

Author: Andrei Gheata 09/02/03
Last change: root/geom:$Id: TGeoOverlap.h 23889 2008-05-16 17:55:40Z rdm $
Last generated: 2008-06-25 08:44
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *

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.