11#ifndef ROOT_TGeoParallelWorld
12#define ROOT_TGeoParallelWorld
#define ClassDefOverride(name, id)
The manager class for any TGeo geometry.
Base class for a flat parallel geometry.
TGeoManager * fGeoManager
void SetUseOverlaps(Bool_t flag)
Double_t Safety(Double_t point[3], Double_t safmax=1.E30)
Compute safety for the parallel world.
TObjArray * fPhysical
Last PN touched.
TGeoVolume * GetVolume() const
Bool_t CloseGeometry()
The main geometry must be closed.
void AddNode(const char *path)
Add a node normally to this world. Overlapping nodes not allowed.
TGeoPhysicalNode * FindNextBoundary(Double_t point[3], Double_t dir[3], Double_t &step, Double_t stepmax=1.E30)
Same functionality as TGeoNavigator::FindNextDaughterBoundary for the parallel world.
void ResetOverlaps() const
Reset overlapflag for all volumes in geometry.
TGeoManager * GetGeometry() const
Bool_t IsUsingOverlaps() const
TGeoPhysicalNode * FindNode(Double_t point[3])
Finds physical node containing the point.
~TGeoParallelWorld() override
Destructor.
TGeoVolume * fVolume
Closed flag.
Int_t PrintDetectedOverlaps() const
Print the overlaps which were detected during real tracking.
void CheckOverlaps(Double_t ovlp=0.001)
Check overlaps within a tolerance value.
TGeoPhysicalNode * fLastState
helper volume
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...
void RefreshPhysicalNodes()
Refresh the node pointers and re-voxelize.
TGeoParallelWorld & operator=(const TGeoParallelWorld &)=delete
TGeoParallelWorld(const TGeoParallelWorld &)=delete
array of physical nodes
Physical nodes are the actual 'touchable' objects in the geometry, representing a path of positioned ...
TGeoVolume, TGeoVolumeMulti, TGeoVolumeAssembly are the volume classes.
The TNamed class is the base class for all named ROOT classes.