ROOT logo
ROOT » GEOM » GEOM » TGeoParallelWorld

class TGeoParallelWorld: public TNamed

 TGeoParallelWorld    - base class for a flat parallel geometry.
   The parallel geometry can be composed by both normal volumes added
 using the AddNode interface (not implemented yet) or by physical nodes
 which will use as position their actual global matrix with respect to the top
 volume of the main geometry.
   All these nodes are added as daughters to the "top" volume of
 the parallel world which acts as a navigation helper in this parallel
 world. The parallel world has to be closed before calling any navigation
 method.

Function Members (Methods)

public:
TGeoParallelWorld()
TGeoParallelWorld(const char* name, TGeoManager* mgr)
virtual~TGeoParallelWorld()
voidTObject::AbstractMethod(const char* method) const
voidAddNode(const char* path)
voidAddOverlap(TGeoVolume* vol, Bool_t activate = kTRUE)
voidAddOverlap(const char* volname, Bool_t activate = kTRUE)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
voidCheckOverlaps(Double_t ovlp = 0.001)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
Bool_tCloseGeometry()
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidDraw(Option_t* option)
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 voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
TGeoPhysicalNode*FindNextBoundary(Double_t* point, Double_t* dir, Double_t& step, Double_t stepmax = 1.E30)
TGeoPhysicalNode*FindNode(Double_t* point)
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()
TGeoManager*GetGeometry() const
virtual const char*TObject::GetIconName() 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
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
TGeoVolume*GetVolume() 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
Bool_tIsClosed() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tIsUsingOverlaps() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
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 voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
Int_tPrintDetectedOverlaps() const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidRefreshPhysicalNodes()
voidTObject::ResetBit(UInt_t f)
voidResetOverlaps() const
Double_tSafety(Double_t* point, Double_t safmax = 1.E30)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& 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 voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetUseOverlaps(Bool_t flag)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_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:
TGeoParallelWorld(const TGeoParallelWorld&)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
TGeoParallelWorld&operator=(const TGeoParallelWorld&)

Data Members

protected:
TGeoManager*fGeoManagerbase geometry
Bool_tfIsClosed! Closed flag
TGeoPhysicalNode*fLastState! Last PN touched
TStringTNamed::fNameobject identifier
TObjArray*fPathsarray of paths
TObjArray*fPhysical! array of physical nodes
TStringTNamed::fTitleobject title
Bool_tfUseOverlapsActivated if user defined overlapping candidates
TGeoVolume*fVolume! helper volume

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TGeoParallelWorld(const char* name, TGeoManager* mgr)
 Default constructor
~TGeoParallelWorld()
 Destructor
void AddNode(const char* path)
 Add a node normally to this world. Overlapping nodes not allowed
void AddOverlap(TGeoVolume* vol, Bool_t activate = kTRUE)
 To use this optimization, the user should declare the full list of volumes
 which may overlap with any of the physical nodes of the parallel world. Better
 be done before misalignment
void AddOverlap(const char* volname, Bool_t activate = kTRUE)
 To use this optimization, the user should declare the full list of volumes
 which may overlap with any of the physical nodes of the parallel world. Better
 be done before misalignment
Int_t PrintDetectedOverlaps() const
 Print the overlaps which were detected during real tracking
void ResetOverlaps() const
 Reset overlapflag for all volumes in geometry
Bool_t CloseGeometry()
 The main geometry must be closed.
void RefreshPhysicalNodes()
 Refresh the node pointers and re-voxelize. To be called mandatory in case
 re-alignment happened.
TGeoPhysicalNode * FindNode(Double_t* point)
 Finds physical node containing the point
TGeoPhysicalNode * FindNextBoundary(Double_t* point, Double_t* dir, Double_t& step, Double_t stepmax = 1.E30)
 Same functionality as TGeoNavigator::FindNextDaughterBoundary for the
 parallel world
Double_t Safety(Double_t* point, Double_t safmax = 1.E30)
 Compute safety for the parallel world
void CheckOverlaps(Double_t ovlp = 0.001)
 Check overlaps within a tolerance value.
void Draw(Option_t* option)
 Draw the parallel world
TGeoParallelWorld(const TGeoParallelWorld& )
TGeoParallelWorld& operator=(const TGeoParallelWorld& )
TGeoParallelWorld()
 constructors
{}
void SetUseOverlaps(Bool_t flag)
 Activate/deactivate  overlap usage
{fUseOverlaps = flag;}
Bool_t IsUsingOverlaps() const
{return fUseOverlaps;}
TGeoManager * GetGeometry() const
 Getters
{return fGeoManager;}
Bool_t IsClosed() const
{return fIsClosed;}
TGeoVolume * GetVolume() const
{return fVolume;}