class TGeoUnion: public TGeoBoolNode

  TGeoBoolNode - base class for Boolean operations between two shapes.

 A Boolean node describes a Boolean operation between 'left' and 'right'
 shapes positioned with respect to an ARBITRARY reference frame. The boolean
 node is referenced by a mother composite shape and its shape components may
 be primitive but also composite shapes. The later situation leads to a binary
 tree hierarchy. When the parent composite shape is used to create a volume,
 the reference frame of the volume is chosen to match the frame in which
 node shape components were defined.

 The positioned shape components may or may not be disjoint. The specific
 implementations for Boolean nodes are:

    TGeoUnion - representing the Boolean  union of two positioned shapes

    TGeoSubtraction - representing the Boolean subtraction of two positioned

    TGeoIntersection - representing the Boolean intersection of two positioned

Function Members (Methods)

TGeoUnion(const TGeoUnion&)
TGeoUnion(const char* expr1, const char* expr2)
TGeoUnion(TGeoShape* left, TGeoShape* right, TGeoMatrix* lmat = 0, TGeoMatrix* rmat = 0)
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidComputeBBox(Double_t& dx, Double_t& dy, Double_t& dz, Double_t* origin)
virtual voidComputeNormal(Double_t* point, Double_t* dir, Double_t* norm)
virtual Bool_tContains(Double_t* point) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")
virtual Int_tDistanceToPrimitive(Int_t px, Int_t py)
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual Double_tDistFromInside(Double_t* point, Double_t* dir, Int_t iact = 1, Double_t step = 0, Double_t* safe = 0) const
virtual Double_tDistFromOutside(Double_t* point, Double_t* dir, Int_t iact = 1, Double_t step = 0, Double_t* safe = 0) const
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() const
virtual TObject*TObject::DrawClone(Option_t* option = "") const
virtual voidTObject::Dump() const
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 voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual TGeoBoolNode::EGeoBoolTypeGetBooleanOperator() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
TGeoMatrix*TGeoBoolNode::GetLeftMatrix() const
TGeoShape*TGeoBoolNode::GetLeftShape() const
virtual const char*TObject::GetName() const
virtual Int_tGetNpoints() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
TGeoMatrix*TGeoBoolNode::GetRightMatrix() const
TGeoShape*TGeoBoolNode::GetRightShape() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::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() const
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
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)
TGeoUnion&operator=(const TGeoUnion&)
virtual voidPaint(Option_t* option)
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual Double_tSafety(Double_t* point, Bool_t in = kTRUE) const
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") const
virtual voidSavePrimitive(ostream& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidSetPoints(Double_t* points) const
virtual voidSetPoints(Float_t* points) const
voidTGeoBoolNode::SetSelected(Int_t sel)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
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
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Bool_tTGeoBoolNode::MakeBranch(const char* expr, Bool_t left)

Data Members

enum TGeoBoolNode::EGeoBoolType { kGeoUnion
enum TObject::EStatusBits { kCanDelete
enum TObject::[unnamed] { kIsOnHeap
TGeoShape*TGeoBoolNode::fLeftshape on the left branch
TGeoMatrix*TGeoBoolNode::fLeftMattransformation that applies to the left branch
TGeoShape*TGeoBoolNode::fRightshape on the right branch
TGeoMatrix*TGeoBoolNode::fRightMattransformation that applies to the right branch
Int_tTGeoBoolNode::fSelected! selected branch

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

void Paint(Option_t* option)
 Paint method.
TGeoUnion(const TGeoUnion& )
 Default constructor
TGeoUnion(const char* expr1, const char* expr2)
TGeoUnion(TGeoShape* left, TGeoShape* right, TGeoMatrix* lmat = 0, TGeoMatrix* rmat = 0)
 Constructor providing pointers to components
 --- deletion of components handled by TGeoManager class.
void ComputeBBox(Double_t& dx, Double_t& dy, Double_t& dz, Double_t* origin)
 Compute bounding box corresponding to a union of two shapes.
Bool_t Contains(Double_t* point) const
 Find if a union of two shapes contains a given point
void ComputeNormal(Double_t* point, Double_t* dir, Double_t* norm)
 Normal computation in POINT. The orientation is chosen so that>0.
Int_t DistanceToPrimitive(Int_t px, Int_t py)
 Compute minimum distance to shape vertices.
Double_t DistFromInside(Double_t* point, Double_t* dir, Int_t iact = 1, Double_t step = 0, Double_t* safe = 0) const
 Computes distance from a given point inside the shape to its boundary.
Double_t DistFromOutside(Double_t* point, Double_t* dir, Int_t iact = 1, Double_t step = 0, Double_t* safe = 0) const
 Compute distance from a given outside point to the shape.
Int_t GetNpoints()
 Returns number of vertices for the composite shape described by this union.
void SetPoints(Double_t * /*points*/)
 Fill buffer with shape vertices.
Double_t Safety(Double_t* point, Bool_t in = kTRUE) const
 Compute safety distance for a union node;
void SavePrimitive(ostream& out, Option_t* option = "")
 Save a primitive as a C++ statement(s) on output stream "out".
void SetPoints(Float_t * /*points*/)
 Fill buffer with shape vertices.
void Sizeof3D()
 Register 3D size of this shape.
EGeoBoolType GetBooleanOperator()
TGeoUnion(const TGeoUnion& )

Author: Andrei Gheata 30/05/02
Last update: :$Id: TGeoBoolNode.h 21425 2007-12-17 15:59:27Z brun $
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.