ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Private Attributes | List of all members
TGeoNavigator Class Reference

Definition at line 37 of file TGeoNavigator.h.

Public Member Functions

 TGeoNavigator ()
 path to current node More...
 
 TGeoNavigator (TGeoManager *geom)
 
virtual ~TGeoNavigator ()
 Destructor. More...
 
void BuildCache (Bool_t dummy=kFALSE, Bool_t nodeid=kFALSE)
 Builds the cache for physical nodes and global matrices. More...
 
Bool_t cd (const char *path="")
 Browse the tree of nodes starting from top node according to pathname. More...
 
Bool_t CheckPath (const char *path) const
 Check if a geometry path is valid without changing the state of the navigator. More...
 
void CdNode (Int_t nodeid)
 Change current path to point to the node having this id. More...
 
void CdDown (Int_t index)
 Make a daughter of current node current. More...
 
void CdDown (TGeoNode *node)
 Make a daughter of current node current. More...
 
void CdUp ()
 Go one level up in geometry. More...
 
void CdTop ()
 Make top level node the current node. More...
 
void CdNext ()
 Do a cd to the node found next by FindNextBoundary. More...
 
void GetBranchNames (Int_t *names) const
 Fill volume names of current branch into an array. More...
 
void GetBranchNumbers (Int_t *copyNumbers, Int_t *volumeNumbers) const
 Fill node copy numbers of current branch into an array. More...
 
void GetBranchOnlys (Int_t *isonly) const
 Fill node copy numbers of current branch into an array. More...
 
Int_t GetNmany () const
 
TGeoNodeCrossBoundaryAndLocate (Bool_t downwards, TGeoNode *skipnode)
 Cross next boundary and locate within current node The current point must be on the boundary of fCurrentNode. More...
 
TGeoNodeFindNextBoundary (Double_t stepmax=TGeoShape::Big(), const char *path="", Bool_t frombdr=kFALSE)
 Find distance to next boundary and store it in fStep. More...
 
TGeoNodeFindNextDaughterBoundary (Double_t *point, Double_t *dir, Int_t &idaughter, Bool_t compmatrix=kFALSE)
 Computes as fStep the distance to next daughter of the current volume. More...
 
TGeoNodeFindNextBoundaryAndStep (Double_t stepmax=TGeoShape::Big(), Bool_t compsafe=kFALSE)
 Compute distance to next boundary within STEPMAX. More...
 
TGeoNodeFindNode (Bool_t safe_start=kTRUE)
 Returns deepest node containing current point. More...
 
TGeoNodeFindNode (Double_t x, Double_t y, Double_t z)
 Returns deepest node containing current point. More...
 
Double_tFindNormal (Bool_t forward=kTRUE)
 Computes normal vector to the next surface that will be or was already crossed when propagating on a straight line from a given point/direction. More...
 
Double_tFindNormalFast ()
 Computes fast normal to next crossed boundary, assuming that the current point is close enough to the boundary. More...
 
TGeoNodeInitTrack (const Double_t *point, const Double_t *dir)
 Initialize current point and current direction vector (normalized) in MARS. More...
 
TGeoNodeInitTrack (Double_t x, Double_t y, Double_t z, Double_t nx, Double_t ny, Double_t nz)
 Initialize current point and current direction vector (normalized) in MARS. More...
 
void ResetState ()
 Reset current state flags. More...
 
void ResetAll ()
 Reset the navigator. More...
 
Double_t Safety (Bool_t inside=kFALSE)
 Compute safe distance from the current point. More...
 
TGeoNodeSearchNode (Bool_t downwards=kFALSE, const TGeoNode *skipnode=0)
 Returns the deepest node containing fPoint, which must be set a priori. More...
 
TGeoNodeStep (Bool_t is_geom=kTRUE, Bool_t cross=kTRUE)
 Make a rectiliniar step of length fStep from current point (fPoint) on current direction (fDirection). More...
 
const Double_tGetLastPoint () const
 
Int_t GetVirtualLevel ()
 Find level of virtuality of current overlapping node (number of levels up having the same tracking media. More...
 
Bool_t GotoSafeLevel ()
 Go upwards the tree until a non-overlaping node. More...
 
Int_t GetSafeLevel () const
 Go upwards the tree until a non-overlaping node. More...
 
Double_t GetSafeDistance () const
 
Double_t GetLastSafety () const
 
Double_t GetStep () const
 
Int_t GetThreadId () const
 
void InspectState () const
 Inspects path and all flags for the current state. More...
 
Bool_t IsSafeStep (Double_t proposed, Double_t &newsafety) const
 In case a previous safety value was computed, check if the safety region is still safe for the current point and proposed step. More...
 
Bool_t IsSameLocation (Double_t x, Double_t y, Double_t z, Bool_t change=kFALSE)
 Checks if point (x,y,z) is still in the current node. More...
 
Bool_t IsSameLocation () const
 
Bool_t IsSamePoint (Double_t x, Double_t y, Double_t z) const
 Check if a new point with given coordinates is the same as the last located one. More...
 
Bool_t IsStartSafe () const
 
void SetStartSafe (Bool_t flag=kTRUE)
 
void SetStep (Double_t step)
 
Bool_t IsCheckingOverlaps () const
 
Bool_t IsCurrentOverlapping () const
 
Bool_t IsEntering () const
 
Bool_t IsExiting () const
 
Bool_t IsStepEntering () const
 
Bool_t IsStepExiting () const
 
Bool_t IsOutside () const
 
Bool_t IsOnBoundary () const
 
Bool_t IsNullStep () const
 
void SetCheckingOverlaps (Bool_t flag=kTRUE)
 
void SetOutside (Bool_t flag=kTRUE)
 
void DoBackupState ()
 Backup the current state without affecting the cache stack. More...
 
void DoRestoreState ()
 Restore a backed-up state without affecting the cache stack. More...
 
Int_t GetNodeId () const
 
Int_t GetNextDaughterIndex () const
 
TGeoNodeGetNextNode () const
 
TGeoNodeGetMother (Int_t up=1) const
 
TGeoHMatrixGetMotherMatrix (Int_t up=1) const
 
TGeoHMatrixGetHMatrix ()
 Return stored current matrix (global matrix of the next touched node). More...
 
TGeoHMatrixGetCurrentMatrix () const
 
TGeoNodeGetCurrentNode () const
 
Int_t GetCurrentNodeId () const
 
const Double_tGetCurrentPoint () const
 
const Double_tGetCurrentDirection () const
 
TGeoVolumeGetCurrentVolume () const
 
const Double_tGetCldirChecked () const
 
const Double_tGetCldir () const
 
TGeoHMatrixGetDivMatrix () const
 
const Double_tGetNormal () const
 
Int_t GetLevel () const
 
const char * GetPath () const
 Get path to the current node in the form /node0/node1/... More...
 
Int_t GetStackLevel () const
 
void SetCurrentPoint (const Double_t *point)
 
void SetCurrentPoint (Double_t x, Double_t y, Double_t z)
 
void SetLastPoint (Double_t x, Double_t y, Double_t z)
 
void SetCurrentDirection (const Double_t *dir)
 
void SetCurrentDirection (Double_t nx, Double_t ny, Double_t nz)
 
void SetCldirChecked (Double_t *dir)
 
void SetLastSafetyForPoint (Double_t safe, const Double_t *point)
 
void SetLastSafetyForPoint (Double_t safe, Double_t x, Double_t y, Double_t z)
 
void LocalToMaster (const Double_t *local, Double_t *master) const
 
void LocalToMasterVect (const Double_t *local, Double_t *master) const
 
void LocalToMasterBomb (const Double_t *local, Double_t *master) const
 
void MasterToLocal (const Double_t *master, Double_t *local) const
 
void MasterToLocalVect (const Double_t *master, Double_t *local) const
 
void MasterToLocalBomb (const Double_t *master, Double_t *local) const
 
void MasterToTop (const Double_t *master, Double_t *top) const
 Convert coordinates from master volume frame to top. More...
 
void TopToMaster (const Double_t *top, Double_t *master) const
 Convert coordinates from top volume frame to master. More...
 
TGeoNodeCacheGetCache () const
 
Int_t PushPath (Int_t startlevel=0)
 
Bool_t PopPath ()
 
Bool_t PopPath (Int_t index)
 
Int_t PushPoint (Int_t startlevel=0)
 
Bool_t PopPoint ()
 
Bool_t PopPoint (Int_t index)
 
void PopDummy (Int_t ipop=9999)
 
- Public Member Functions inherited from TObject
 TObject ()
 
 TObject (const TObject &object)
 TObject copy ctor. More...
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator. More...
 
virtual ~TObject ()
 TObject destructor. More...
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad. More...
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action. More...
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs. More...
 
virtual void Clear (Option_t *="")
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility. More...
 
virtual Int_t Compare (const TObject *obj) const
 Compare abstract method. More...
 
virtual void Copy (TObject &object) const
 Copy this to obj. More...
 
virtual void Delete (Option_t *option="")
 Delete this object. More...
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object. More...
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects. More...
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs. More...
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current pad. More...
 
virtual void Dump () const
 Dump contents of object on stdout. More...
 
virtual void Execute (const char *method, const char *params, Int_t *error=0)
 Execute method on this object with the given parameter string, e.g. More...
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 Execute method on this object with parameters stored in the TObjArray. More...
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py). More...
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes. More...
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes. More...
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object. More...
 
virtual UInt_t GetUniqueID () const
 Return the unique object id. More...
 
virtual const char * GetName () const
 Returns name of object. More...
 
virtual const char * GetIconName () const
 Returns mime type name of object. More...
 
virtual Option_tGetOption () const
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py). More...
 
virtual const char * GetTitle () const
 Returns title of object. More...
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out. More...
 
virtual ULong_t Hash () const
 Return hash value for this object. More...
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname". More...
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl. More...
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas. More...
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More...
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory). More...
 
virtual Bool_t IsSortable () const
 
Bool_t IsOnHeap () const
 
Bool_t IsZombie () const
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification. More...
 
virtual void ls (Option_t *option="") const
 The ls function lists the contents of a class on stdout. More...
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself. More...
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list. More...
 
virtual void Print (Option_t *option="") const
 This method must be overridden when a class wants to print itself. More...
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory. More...
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list. More...
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename. More...
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out". More...
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object. More...
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id. More...
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory. More...
 
voidoperator new (size_t sz)
 
voidoperator new[] (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz, void *vp)
 
void operator delete (void *ptr)
 Operator delete. More...
 
void operator delete[] (void *ptr)
 Operator delete []. More...
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f. More...
 
void SetBit (UInt_t f)
 
void ResetBit (UInt_t f)
 
Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
void InvertBit (UInt_t f)
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message. More...
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message. More...
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message. More...
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message. More...
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message. More...
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract. More...
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More...
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete. More...
 

Protected Member Functions

 TGeoNavigator (const TGeoNavigator &)
 Copy constructor. More...
 
TGeoNavigatoroperator= (const TGeoNavigator &)
 assignment operator More...
 
TGeoNodeFindInCluster (Int_t *cluster, Int_t nc)
 Find a node inside a cluster of overlapping nodes. More...
 
Int_t GetTouchedCluster (Int_t start, Double_t *point, Int_t *check_list, Int_t ncheck, Int_t *result)
 Make the cluster of overlapping nodes in a voxel, containing point in reference of the mother. More...
 
TGeoNodeCrossDivisionCell ()
 Cross a division cell. More...
 
void SafetyOverlaps ()
 Compute safe distance from the current point within an overlapping node. More...
 
- Protected Member Functions inherited from TObject
void MakeZombie ()
 
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected). More...
 

Private Attributes

Double_t fStep
 
Double_t fSafety
 step to be done from current point and direction More...
 
Double_t fLastSafety
 safety radius from current point More...
 
Double_t fNormal [3]
 last computed safety radius More...
 
Double_t fCldir [3]
 cosine of incident angle on current checked surface More...
 
Double_t fCldirChecked [3]
 unit vector to current closest shape More...
 
Double_t fPoint [3]
 unit vector to current checked shape More...
 
Double_t fDirection [3]
 current point More...
 
Double_t fLastPoint [3]
 current direction More...
 
Int_t fThreadId
 last point for which safety was computed More...
 
Int_t fLevel
 thread id for this navigator More...
 
Int_t fNmany
 current geometry level; More...
 
Int_t fNextDaughterIndex
 number of overlapping nodes on current branch More...
 
Int_t fOverlapSize
 next daughter index after FindNextBoundary More...
 
Int_t fOverlapMark
 current size of fOverlapClusters More...
 
Int_tfOverlapClusters
 current recursive position in fOverlapClusters More...
 
Bool_t fSearchOverlaps
 internal array for overlaps More...
 
Bool_t fCurrentOverlapping
 flag set when an overlapping cluster is searched More...
 
Bool_t fStartSafe
 flags the type of the current node More...
 
Bool_t fIsEntering
 flag a safe start for point classification More...
 
Bool_t fIsExiting
 flag if current step just got into a new node More...
 
Bool_t fIsStepEntering
 flag that current track is about to leave current node More...
 
Bool_t fIsStepExiting
 flag that next geometric step will enter new volume More...
 
Bool_t fIsOutside
 flaag that next geometric step will exit current volume More...
 
Bool_t fIsOnBoundary
 flag that current point is outside geometry More...
 
Bool_t fIsSameLocation
 flag that current point is on some boundary More...
 
Bool_t fIsNullStep
 flag that a new point is in the same node as previous More...
 
TGeoManagerfGeometry
 flag that last geometric step was null More...
 
TGeoNodeCachefCache
 current geometry More...
 
TGeoVolumefCurrentVolume
 cache of states More...
 
TGeoNodefCurrentNode
 current volume More...
 
TGeoNodefTopNode
 current node More...
 
TGeoNodefLastNode
 top physical node More...
 
TGeoNodefNextNode
 last searched node More...
 
TGeoNodefForcedNode
 next node that will be crossed More...
 
TGeoCacheStatefBackupState
 current point is supposed to be inside this node More...
 
TGeoHMatrixfCurrentMatrix
 backup state More...
 
TGeoHMatrixfGlobalMatrix
 current stored global matrix More...
 
TGeoHMatrixfDivMatrix
 current pointer to cached global matrix More...
 
TString fPath
 current local matrix of the selected division cell More...
 

Additional Inherited Members

- Public Types inherited from TObject
enum  EStatusBits {
  kCanDelete = BIT(0), kMustCleanup = BIT(3), kObjInCanvas = BIT(3), kIsReferenced = BIT(4),
  kHasUUID = BIT(5), kCannotPick = BIT(6), kNoContextMenu = BIT(8), kInvalidObject = BIT(13)
}
 
enum  { kIsOnHeap = 0x01000000, kNotDeleted = 0x02000000, kZombie = 0x04000000, kBitMask = 0x00ffffff }
 
enum  { kSingleKey = BIT(0), kOverwrite = BIT(1), kWriteDelete = BIT(2) }
 
- Static Public Member Functions inherited from TObject
static Long_t GetDtorOnly ()
 Return destructor only flag. More...
 
static void SetDtorOnly (void *obj)
 Set destructor only flag. More...
 
static Bool_t GetObjectStat ()
 Get status of object stat flag. More...
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable. More...
 

#include <TGeoNavigator.h>

Inheritance diagram for TGeoNavigator:
[legend]

Constructor & Destructor Documentation

TGeoNavigator::TGeoNavigator ( const TGeoNavigator gm)
protected

Copy constructor.

Definition at line 159 of file TGeoNavigator.cxx.

TGeoNavigator::TGeoNavigator ( )

path to current node

TGeoNavigator::TGeoNavigator ( TGeoManager geom)

Definition at line 100 of file TGeoNavigator.cxx.

TGeoNavigator::~TGeoNavigator ( )
virtual

Destructor.

Definition at line 265 of file TGeoNavigator.cxx.

Member Function Documentation

void TGeoNavigator::BuildCache ( Bool_t  dummy = kFALSE,
Bool_t  nodeid = kFALSE 
)

Builds the cache for physical nodes and global matrices.

Definition at line 275 of file TGeoNavigator.cxx.

Referenced by ClassImp(), and ResetAll().

Bool_t TGeoNavigator::cd ( const char *  path = "")

Browse the tree of nodes starting from top node according to pathname.

Changes the path accordingly. The path is changed to point to the top node in case of failure.

Definition at line 300 of file TGeoNavigator.cxx.

Referenced by TGeoManager::cd(), FindNextBoundary(), and FindNextBoundaryAndStep().

void TGeoNavigator::CdDown ( Int_t  index)

Make a daughter of current node current.

Can be called only with a valid daughter index (no check). Updates cache accordingly.

Definition at line 396 of file TGeoNavigator.cxx.

Referenced by cd(), TGeoManager::CdDown(), CdNext(), CrossBoundaryAndLocate(), CrossDivisionCell(), FindInCluster(), FindNextBoundary(), FindNextBoundaryAndStep(), IsSameLocation(), SafetyOverlaps(), SearchNode(), and TGeoBranchArray::UpdateNavigator().

void TGeoNavigator::CdDown ( TGeoNode node)

Make a daughter of current node current.

Can be called only with a valid daughter node (no check). Updates cache accordingly.

Definition at line 415 of file TGeoNavigator.cxx.

void TGeoNavigator::CdNext ( )

Do a cd to the node found next by FindNextBoundary.

Definition at line 482 of file TGeoNavigator.cxx.

Referenced by TGeoManager::CdNext().

void TGeoNavigator::CdNode ( Int_t  nodeid)

Change current path to point to the node having this id.

Node id has to be in range : 0 to fNNodes-1 (no check for performance reasons)

Definition at line 384 of file TGeoNavigator.cxx.

Referenced by TGeoManager::CdNode().

void TGeoNavigator::CdTop ( )

Make top level node the current node.

Updates the cache accordingly. Determine the overlapping state of current node.

Definition at line 466 of file TGeoNavigator.cxx.

Referenced by cd(), TGeoManager::CdTop(), and CdUp().

void TGeoNavigator::CdUp ( )

Go one level up in geometry.

Updates cache accordingly. Determine the overlapping state of current node.

Definition at line 433 of file TGeoNavigator.cxx.

Referenced by CdNext(), TGeoManager::CdUp(), CrossBoundaryAndLocate(), CrossDivisionCell(), FindNextBoundary(), FindNextBoundaryAndStep(), GotoSafeLevel(), IsSameLocation(), SafetyOverlaps(), SearchNode(), and TGeoBranchArray::UpdateNavigator().

Bool_t TGeoNavigator::CheckPath ( const char *  path) const

Check if a geometry path is valid without changing the state of the navigator.

Definition at line 343 of file TGeoNavigator.cxx.

Referenced by TGeoManager::CheckPath().

TGeoNode * TGeoNavigator::CrossBoundaryAndLocate ( Bool_t  downwards,
TGeoNode skipnode 
)

Cross next boundary and locate within current node The current point must be on the boundary of fCurrentNode.

Definition at line 596 of file TGeoNavigator.cxx.

Referenced by TGeoManager::CrossBoundaryAndLocate(), CrossDivisionCell(), and FindNextBoundaryAndStep().

TGeoNode * TGeoNavigator::CrossDivisionCell ( )
protected

Cross a division cell.

Distance to exit contained in fStep, current node points to the cell node.

Definition at line 536 of file TGeoNavigator.cxx.

Referenced by FindNextBoundaryAndStep().

void TGeoNavigator::DoBackupState ( )

Backup the current state without affecting the cache stack.

Definition at line 2561 of file TGeoNavigator.cxx.

Referenced by TGeoManager::DoBackupState(), and FindNextBoundary().

void TGeoNavigator::DoRestoreState ( )

Restore a backed-up state without affecting the cache stack.

Definition at line 2569 of file TGeoNavigator.cxx.

Referenced by CdNext(), and TGeoManager::DoRestoreState().

TGeoNode * TGeoNavigator::FindInCluster ( Int_t cluster,
Int_t  nc 
)
protected

Find a node inside a cluster of overlapping nodes.

Current node must be on top of all the nodes in cluster. Always nc>1.

Definition at line 2112 of file TGeoNavigator.cxx.

Referenced by SearchNode().

TGeoNode * TGeoNavigator::FindNextBoundary ( Double_t  stepmax = TGeoShape::Big(),
const char *  path = "",
Bool_t  frombdr = kFALSE 
)

Find distance to next boundary and store it in fStep.

Returns node to which this boundary belongs. If PATH is specified, compute only distance to the node to which PATH points. If STEPMAX is specified, compute distance only in case fSafety is smaller than this value. STEPMAX represent the step to be made imposed by other reasons than geometry (usually physics processes). Therefore in this case this method provides the answer to the question : "Is STEPMAX a safe step ?" returning a NULL node and filling fStep with a big number. In case frombdr=kTRUE, the isotropic safety is set to zero. Note : safety distance for the current point is computed ONLY in case STEPMAX is specified, otherwise users have to call explicitly TGeoManager::Safety() if they want this computed for the current point.

Definition at line 688 of file TGeoNavigator.cxx.

Referenced by TGeoManager::FindNextBoundary().

TGeoNode * TGeoNavigator::FindNextBoundaryAndStep ( Double_t  stepmax = TGeoShape::Big(),
Bool_t  compsafe = kFALSE 
)

Compute distance to next boundary within STEPMAX.

If no boundary is found, propagate current point along current direction with fStep=STEPMAX. Otherwise propagate with fStep=SNEXT (distance to boundary) and locate/return the next node.

Definition at line 1216 of file TGeoNavigator.cxx.

Referenced by TGeoManager::FindNextBoundaryAndStep().

TGeoNode * TGeoNavigator::FindNextDaughterBoundary ( Double_t point,
Double_t dir,
Int_t idaughter,
Bool_t  compmatrix = kFALSE 
)

Computes as fStep the distance to next daughter of the current volume.

The point and direction must be converted in the coordinate system of the current volume. The proposed step limit is fStep.

Definition at line 1041 of file TGeoNavigator.cxx.

Referenced by FindNextBoundary(), FindNextBoundaryAndStep(), and TGeoManager::FindNextDaughterBoundary().

TGeoNode * TGeoNavigator::FindNode ( Bool_t  safe_start = kTRUE)

Returns deepest node containing current point.

Definition at line 1576 of file TGeoNavigator.cxx.

Referenced by TGeoManager::FindNode(), InitTrack(), IsSameLocation(), and Step().

TGeoNode * TGeoNavigator::FindNode ( Double_t  x,
Double_t  y,
Double_t  z 
)

Returns deepest node containing current point.

Definition at line 1598 of file TGeoNavigator.cxx.

Double_t * TGeoNavigator::FindNormal ( Bool_t  forward = kTRUE)

Computes normal vector to the next surface that will be or was already crossed when propagating on a straight line from a given point/direction.

Returns the normal vector cosines in the MASTER coordinate system. The dot product of the normal and the current direction is positive defined.

Definition at line 1643 of file TGeoNavigator.cxx.

Referenced by TGeoManager::FindNormal().

Double_t * TGeoNavigator::FindNormalFast ( )

Computes fast normal to next crossed boundary, assuming that the current point is close enough to the boundary.

Works only after calling FindNextBoundary.

Definition at line 1624 of file TGeoNavigator.cxx.

Referenced by FindNormal(), and TGeoManager::FindNormalFast().

void TGeoNavigator::GetBranchNames ( Int_t names) const

Fill volume names of current branch into an array.

Definition at line 511 of file TGeoNavigator.cxx.

Referenced by TGeoManager::GetBranchNames().

void TGeoNavigator::GetBranchNumbers ( Int_t copyNumbers,
Int_t volumeNumbers 
) const

Fill node copy numbers of current branch into an array.

Definition at line 519 of file TGeoNavigator.cxx.

Referenced by TGeoManager::GetBranchNumbers().

void TGeoNavigator::GetBranchOnlys ( Int_t isonly) const

Fill node copy numbers of current branch into an array.

Definition at line 527 of file TGeoNavigator.cxx.

Referenced by TGeoManager::GetBranchOnlys().

TGeoNodeCache* TGeoNavigator::GetCache ( ) const
inline
const Double_t* TGeoNavigator::GetCldir ( ) const
inline

Definition at line 168 of file TGeoNavigator.h.

Referenced by TGeoManager::GetCldir().

const Double_t* TGeoNavigator::GetCldirChecked ( ) const
inline

Definition at line 167 of file TGeoNavigator.h.

Referenced by TGeoManager::GetCldirChecked().

const Double_t* TGeoNavigator::GetCurrentDirection ( ) const
inline

Definition at line 165 of file TGeoNavigator.h.

Referenced by TGeoManager::GetCurrentDirection().

TGeoHMatrix* TGeoNavigator::GetCurrentMatrix ( ) const
inline

Definition at line 161 of file TGeoNavigator.h.

Referenced by TGeoManager::GetCurrentMatrix().

TGeoNode* TGeoNavigator::GetCurrentNode ( ) const
inline

Definition at line 162 of file TGeoNavigator.h.

Referenced by TGeoManager::GetCurrentNode().

Int_t TGeoNavigator::GetCurrentNodeId ( ) const
inline

Definition at line 163 of file TGeoNavigator.h.

Referenced by TGeoManager::GetCurrentNodeId(), and IsSameLocation().

const Double_t* TGeoNavigator::GetCurrentPoint ( ) const
inline

Definition at line 164 of file TGeoNavigator.h.

Referenced by TGeoManager::GetCurrentPoint().

TGeoVolume* TGeoNavigator::GetCurrentVolume ( ) const
inline
TGeoHMatrix* TGeoNavigator::GetDivMatrix ( ) const
inline

Definition at line 169 of file TGeoNavigator.h.

TGeoHMatrix * TGeoNavigator::GetHMatrix ( )

Return stored current matrix (global matrix of the next touched node).

Definition at line 2582 of file TGeoNavigator.cxx.

Referenced by TGeoManager::GetHMatrix(), and ResetAll().

const Double_t* TGeoNavigator::GetLastPoint ( ) const
inline

Definition at line 125 of file TGeoNavigator.h.

Referenced by TGeoManager::GetLastPoint().

Double_t TGeoNavigator::GetLastSafety ( ) const
inline

Definition at line 130 of file TGeoNavigator.h.

Referenced by TGeoManager::GetLastSafety().

Int_t TGeoNavigator::GetLevel ( ) const
inline

Definition at line 172 of file TGeoNavigator.h.

Referenced by TGeoManager::GetLevel(), and TGeoBranchArray::UpdateNavigator().

TGeoNode* TGeoNavigator::GetMother ( Int_t  up = 1) const
inline
TGeoHMatrix* TGeoNavigator::GetMotherMatrix ( Int_t  up = 1) const
inline
Int_t TGeoNavigator::GetNextDaughterIndex ( ) const
inline

Definition at line 156 of file TGeoNavigator.h.

TGeoNode* TGeoNavigator::GetNextNode ( ) const
inline

Definition at line 157 of file TGeoNavigator.h.

Referenced by TGeoManager::GetNextNode().

Int_t TGeoNavigator::GetNmany ( ) const
inline

Definition at line 108 of file TGeoNavigator.h.

Referenced by TGeoManager::GetNmany().

Int_t TGeoNavigator::GetNodeId ( ) const
inline

Definition at line 155 of file TGeoNavigator.h.

Referenced by TGeoManager::GetNodeId(), and Step().

const Double_t* TGeoNavigator::GetNormal ( ) const
inline

Definition at line 171 of file TGeoNavigator.h.

Referenced by TGeoManager::GetNormal().

const char * TGeoNavigator::GetPath ( ) const

Get path to the current node in the form /node0/node1/...

Definition at line 2594 of file TGeoNavigator.cxx.

Referenced by CrossBoundaryAndLocate(), FindNextBoundary(), FindNextBoundaryAndStep(), TGeoManager::GetPath(), and InspectState().

Double_t TGeoNavigator::GetSafeDistance ( ) const
inline

Definition at line 129 of file TGeoNavigator.h.

Referenced by TGeoManager::GetSafeDistance().

Int_t TGeoNavigator::GetSafeLevel ( ) const

Go upwards the tree until a non-overlaping node.

Definition at line 2339 of file TGeoNavigator.cxx.

Referenced by FindNextBoundary(), FindNextBoundaryAndStep(), TGeoManager::GetSafeLevel(), and SafetyOverlaps().

Int_t TGeoNavigator::GetStackLevel ( ) const
inline

Definition at line 174 of file TGeoNavigator.h.

Referenced by TGeoManager::GetStackLevel().

Double_t TGeoNavigator::GetStep ( ) const
inline

Definition at line 131 of file TGeoNavigator.h.

Referenced by TGeoManager::GetStep().

Int_t TGeoNavigator::GetThreadId ( ) const
inline

Definition at line 132 of file TGeoNavigator.h.

Int_t TGeoNavigator::GetTouchedCluster ( Int_t  start,
Double_t point,
Int_t check_list,
Int_t  ncheck,
Int_t result 
)
protected

Make the cluster of overlapping nodes in a voxel, containing point in reference of the mother.

Returns number of nodes containing the point. Nodes should not be offsets.

Definition at line 2195 of file TGeoNavigator.cxx.

Referenced by SearchNode().

Int_t TGeoNavigator::GetVirtualLevel ( )

Find level of virtuality of current overlapping node (number of levels up having the same tracking media.

Definition at line 2273 of file TGeoNavigator.cxx.

Referenced by FindInCluster(), and TGeoManager::GetVirtualLevel().

Bool_t TGeoNavigator::GotoSafeLevel ( )

Go upwards the tree until a non-overlaping node.

Definition at line 2296 of file TGeoNavigator.cxx.

Referenced by TGeoManager::GotoSafeLevel(), and SearchNode().

TGeoNode * TGeoNavigator::InitTrack ( const Double_t point,
const Double_t dir 
)

Initialize current point and current direction vector (normalized) in MARS.

Return corresponding node.

Definition at line 1652 of file TGeoNavigator.cxx.

Referenced by TGeoManager::InitTrack().

TGeoNode * TGeoNavigator::InitTrack ( Double_t  x,
Double_t  y,
Double_t  z,
Double_t  nx,
Double_t  ny,
Double_t  nz 
)

Initialize current point and current direction vector (normalized) in MARS.

Return corresponding node.

Definition at line 1663 of file TGeoNavigator.cxx.

void TGeoNavigator::InspectState ( ) const

Inspects path and all flags for the current state.

Definition at line 2356 of file TGeoNavigator.cxx.

Referenced by TGeoManager::InspectState().

Bool_t TGeoNavigator::IsCheckingOverlaps ( ) const
inline

Definition at line 141 of file TGeoNavigator.h.

Referenced by TGeoManager::IsCheckingOverlaps().

Bool_t TGeoNavigator::IsCurrentOverlapping ( ) const
inline

Definition at line 142 of file TGeoNavigator.h.

Referenced by TGeoManager::IsCurrentOverlapping().

Bool_t TGeoNavigator::IsEntering ( ) const
inline

Definition at line 143 of file TGeoNavigator.h.

Referenced by TGeoManager::IsEntering().

Bool_t TGeoNavigator::IsExiting ( ) const
inline

Definition at line 144 of file TGeoNavigator.h.

Referenced by TGeoManager::IsExiting().

Bool_t TGeoNavigator::IsNullStep ( ) const
inline

Definition at line 149 of file TGeoNavigator.h.

Referenced by TGeoManager::IsNullStep().

Bool_t TGeoNavigator::IsOnBoundary ( ) const
inline

Definition at line 148 of file TGeoNavigator.h.

Referenced by TGeoManager::IsOnBoundary().

Bool_t TGeoNavigator::IsOutside ( ) const
inline

Definition at line 147 of file TGeoNavigator.h.

Referenced by TGeoBranchArray::InitFromNavigator(), and TGeoManager::IsOutside().

Bool_t TGeoNavigator::IsSafeStep ( Double_t  proposed,
Double_t newsafety 
) const

In case a previous safety value was computed, check if the safety region is still safe for the current point and proposed step.

Return value changed only if proposed distance is safe.

Definition at line 2525 of file TGeoNavigator.cxx.

Referenced by FindNextBoundary(), and FindNextBoundaryAndStep().

Bool_t TGeoNavigator::IsSameLocation ( Double_t  x,
Double_t  y,
Double_t  z,
Bool_t  change = kFALSE 
)

Checks if point (x,y,z) is still in the current node.

check if this is an overlapping node

Definition at line 2376 of file TGeoNavigator.cxx.

Referenced by TGeoManager::IsSameLocation().

Bool_t TGeoNavigator::IsSameLocation ( ) const
inline

Definition at line 136 of file TGeoNavigator.h.

Bool_t TGeoNavigator::IsSamePoint ( Double_t  x,
Double_t  y,
Double_t  z 
) const

Check if a new point with given coordinates is the same as the last located one.

Definition at line 2548 of file TGeoNavigator.cxx.

Referenced by TGeoManager::IsSamePoint().

Bool_t TGeoNavigator::IsStartSafe ( ) const
inline

Definition at line 138 of file TGeoNavigator.h.

Referenced by TGeoManager::IsStartSafe().

Bool_t TGeoNavigator::IsStepEntering ( ) const
inline

Definition at line 145 of file TGeoNavigator.h.

Referenced by TGeoManager::IsStepEntering().

Bool_t TGeoNavigator::IsStepExiting ( ) const
inline

Definition at line 146 of file TGeoNavigator.h.

Referenced by TGeoManager::IsStepExiting().

void TGeoNavigator::LocalToMaster ( const Double_t local,
Double_t master 
) const
inline

Definition at line 189 of file TGeoNavigator.h.

Referenced by TGeoManager::LocalToMaster(), and TGeoManager::TopToMaster().

void TGeoNavigator::LocalToMasterBomb ( const Double_t local,
Double_t master 
) const
inline

Definition at line 191 of file TGeoNavigator.h.

Referenced by TGeoManager::LocalToMasterBomb().

void TGeoNavigator::LocalToMasterVect ( const Double_t local,
Double_t master 
) const
inline

Definition at line 190 of file TGeoNavigator.h.

Referenced by TGeoManager::LocalToMasterVect().

void TGeoNavigator::MasterToLocal ( const Double_t master,
Double_t local 
) const
inline

Definition at line 192 of file TGeoNavigator.h.

Referenced by TGeoManager::MasterToLocal(), and TGeoManager::MasterToTop().

void TGeoNavigator::MasterToLocalBomb ( const Double_t master,
Double_t local 
) const
inline

Definition at line 194 of file TGeoNavigator.h.

Referenced by TGeoManager::MasterToLocalBomb().

void TGeoNavigator::MasterToLocalVect ( const Double_t master,
Double_t local 
) const
inline

Definition at line 193 of file TGeoNavigator.h.

Referenced by TGeoManager::MasterToLocalVect().

void TGeoNavigator::MasterToTop ( const Double_t master,
Double_t top 
) const

Convert coordinates from master volume frame to top.

Definition at line 2603 of file TGeoNavigator.cxx.

TGeoNavigator & TGeoNavigator::operator= ( const TGeoNavigator gm)
protected

assignment operator

Definition at line 211 of file TGeoNavigator.cxx.

void TGeoNavigator::PopDummy ( Int_t  ipop = 9999)
inline

Definition at line 206 of file TGeoNavigator.h.

Referenced by FindInCluster(), FindNextBoundaryAndStep(), and TGeoManager::PopDummy().

Bool_t TGeoNavigator::PopPath ( )
inline
Bool_t TGeoNavigator::PopPath ( Int_t  index)
inline

Definition at line 202 of file TGeoNavigator.h.

Bool_t TGeoNavigator::PopPoint ( )
inline

Definition at line 204 of file TGeoNavigator.h.

Referenced by IsSameLocation(), and TGeoManager::PopPoint().

Bool_t TGeoNavigator::PopPoint ( Int_t  index)
inline

Definition at line 205 of file TGeoNavigator.h.

Int_t TGeoNavigator::PushPath ( Int_t  startlevel = 0)
inline
Int_t TGeoNavigator::PushPoint ( Int_t  startlevel = 0)
inline

Definition at line 203 of file TGeoNavigator.h.

Referenced by IsSameLocation(), and TGeoManager::PushPoint().

void TGeoNavigator::ResetAll ( )

Reset the navigator.

Definition at line 2619 of file TGeoNavigator.cxx.

Referenced by TGeoManager::SetTopVolume(), and TGeoNavigator().

void TGeoNavigator::ResetState ( )

Reset current state flags.

Definition at line 1673 of file TGeoNavigator.cxx.

Referenced by ResetAll(), and TGeoManager::ResetState().

Double_t TGeoNavigator::Safety ( Bool_t  inside = kFALSE)

Compute safe distance from the current point.

This represent the distance from POINT to the closest boundary.

Definition at line 1686 of file TGeoNavigator.cxx.

Referenced by FindNextBoundary(), FindNextBoundaryAndStep(), TGeoManager::Safety(), and SafetyOverlaps().

void TGeoNavigator::SafetyOverlaps ( )
protected

Compute safe distance from the current point within an overlapping node.

Definition at line 1817 of file TGeoNavigator.cxx.

Referenced by Safety().

TGeoNode * TGeoNavigator::SearchNode ( Bool_t  downwards = kFALSE,
const TGeoNode skipnode = 0 
)

Returns the deepest node containing fPoint, which must be set a priori.

Check if parallel world navigation is enabled

Definition at line 1889 of file TGeoNavigator.cxx.

Referenced by CrossBoundaryAndLocate(), FindInCluster(), FindNode(), IsSameLocation(), and TGeoManager::SearchNode().

void TGeoNavigator::SetCheckingOverlaps ( Bool_t  flag = kTRUE)
inline

Definition at line 150 of file TGeoNavigator.h.

Referenced by TGeoManager::SetCheckingOverlaps().

void TGeoNavigator::SetCldirChecked ( Double_t dir)
inline

Definition at line 184 of file TGeoNavigator.h.

Referenced by TGeoManager::SetCldirChecked().

void TGeoNavigator::SetCurrentDirection ( const Double_t dir)
inline

Definition at line 180 of file TGeoNavigator.h.

Referenced by InitTrack(), and TGeoManager::SetCurrentDirection().

void TGeoNavigator::SetCurrentDirection ( Double_t  nx,
Double_t  ny,
Double_t  nz 
)
inline

Definition at line 181 of file TGeoNavigator.h.

void TGeoNavigator::SetCurrentPoint ( const Double_t point)
inline

Definition at line 175 of file TGeoNavigator.h.

Referenced by InitTrack(), IsSameLocation(), and TGeoManager::SetCurrentPoint().

void TGeoNavigator::SetCurrentPoint ( Double_t  x,
Double_t  y,
Double_t  z 
)
inline

Definition at line 176 of file TGeoNavigator.h.

void TGeoNavigator::SetLastPoint ( Double_t  x,
Double_t  y,
Double_t  z 
)
inline

Definition at line 178 of file TGeoNavigator.h.

Referenced by TGeoManager::SetLastPoint().

void TGeoNavigator::SetLastSafetyForPoint ( Double_t  safe,
const Double_t point 
)
inline

Definition at line 185 of file TGeoNavigator.h.

void TGeoNavigator::SetLastSafetyForPoint ( Double_t  safe,
Double_t  x,
Double_t  y,
Double_t  z 
)
inline

Definition at line 186 of file TGeoNavigator.h.

void TGeoNavigator::SetOutside ( Bool_t  flag = kTRUE)
inline

Definition at line 151 of file TGeoNavigator.h.

Referenced by TGeoManager::SetOutside(), and TGeoBranchArray::UpdateNavigator().

void TGeoNavigator::SetStartSafe ( Bool_t  flag = kTRUE)
inline

Definition at line 139 of file TGeoNavigator.h.

Referenced by TGeoManager::SetStartSafe().

void TGeoNavigator::SetStep ( Double_t  step)
inline

Definition at line 140 of file TGeoNavigator.h.

Referenced by TGeoManager::SetStep().

TGeoNode * TGeoNavigator::Step ( Bool_t  is_geom = kTRUE,
Bool_t  cross = kTRUE 
)

Make a rectiliniar step of length fStep from current point (fPoint) on current direction (fDirection).

If the step is imposed by geometry, is_geom flag must be true (default). The cross flag specifies if the boundary should be crossed in case of a geometry step (default true). Returns new node after step. Set also on boundary condition.

Definition at line 2237 of file TGeoNavigator.cxx.

Referenced by TGeoManager::Step().

void TGeoNavigator::TopToMaster ( const Double_t top,
Double_t master 
) const

Convert coordinates from top volume frame to master.

Definition at line 2611 of file TGeoNavigator.cxx.

Member Data Documentation

TGeoCacheState* TGeoNavigator::fBackupState
private

current point is supposed to be inside this node

Definition at line 85 of file TGeoNavigator.h.

Referenced by BuildCache(), DoBackupState(), DoRestoreState(), operator=(), ResetAll(), and ~TGeoNavigator().

TGeoNodeCache* TGeoNavigator::fCache
private
Double_t TGeoNavigator::fCldir[3]
private

cosine of incident angle on current checked surface

Definition at line 54 of file TGeoNavigator.h.

Referenced by GetCldir(), operator=(), and TGeoNavigator().

Double_t TGeoNavigator::fCldirChecked[3]
private

unit vector to current closest shape

Definition at line 55 of file TGeoNavigator.h.

Referenced by GetCldirChecked(), operator=(), SetCldirChecked(), and TGeoNavigator().

TGeoHMatrix* TGeoNavigator::fCurrentMatrix
private
TGeoNode* TGeoNavigator::fCurrentNode
private
Bool_t TGeoNavigator::fCurrentOverlapping
private
TGeoVolume* TGeoNavigator::fCurrentVolume
private

cache of states

Definition at line 79 of file TGeoNavigator.h.

Referenced by operator=(), and ResetAll().

Double_t TGeoNavigator::fDirection[3]
private
TGeoHMatrix* TGeoNavigator::fDivMatrix
private

current pointer to cached global matrix

Definition at line 88 of file TGeoNavigator.h.

Referenced by GetDivMatrix(), operator=(), and TGeoNavigator().

TGeoNode* TGeoNavigator::fForcedNode
private

next node that will be crossed

Definition at line 84 of file TGeoNavigator.h.

Referenced by CrossBoundaryAndLocate(), FindNextBoundary(), FindNextBoundaryAndStep(), operator=(), and SearchNode().

TGeoManager* TGeoNavigator::fGeometry
private
TGeoHMatrix* TGeoNavigator::fGlobalMatrix
private
Bool_t TGeoNavigator::fIsEntering
private

flag a safe start for point classification

Definition at line 69 of file TGeoNavigator.h.

Referenced by FindNode(), InspectState(), IsEntering(), operator=(), ResetState(), and Step().

Bool_t TGeoNavigator::fIsExiting
private

flag if current step just got into a new node

Definition at line 70 of file TGeoNavigator.h.

Referenced by FindNode(), IsExiting(), operator=(), ResetState(), and Step().

Bool_t TGeoNavigator::fIsNullStep
private

flag that a new point is in the same node as previous

Definition at line 76 of file TGeoNavigator.h.

Referenced by IsNullStep(), operator=(), ResetAll(), and Step().

Bool_t TGeoNavigator::fIsOnBoundary
private

flag that current point is outside geometry

Definition at line 74 of file TGeoNavigator.h.

Referenced by FindNextBoundary(), FindNextBoundaryAndStep(), FindNode(), InspectState(), IsOnBoundary(), operator=(), ResetState(), Safety(), SafetyOverlaps(), and Step().

Bool_t TGeoNavigator::fIsOutside
private

flaag that next geometric step will exit current volume

Definition at line 73 of file TGeoNavigator.h.

Referenced by CrossBoundaryAndLocate(), FindNextBoundary(), FindNextBoundaryAndStep(), FindNode(), GetPath(), IsOutside(), IsSameLocation(), operator=(), ResetState(), Safety(), SearchNode(), SetOutside(), and Step().

Bool_t TGeoNavigator::fIsSameLocation
private

flag that current point is on some boundary

Definition at line 75 of file TGeoNavigator.h.

Referenced by FindNode(), IsSameLocation(), operator=(), ResetAll(), and SearchNode().

Bool_t TGeoNavigator::fIsStepEntering
private

flag that current track is about to leave current node

Definition at line 71 of file TGeoNavigator.h.

Referenced by FindNextBoundary(), FindNextBoundaryAndStep(), FindNextDaughterBoundary(), IsStepEntering(), operator=(), and ResetState().

Bool_t TGeoNavigator::fIsStepExiting
private

flag that next geometric step will enter new volume

Definition at line 72 of file TGeoNavigator.h.

Referenced by FindNextBoundary(), FindNextBoundaryAndStep(), FindNextDaughterBoundary(), IsStepExiting(), operator=(), and ResetState().

TGeoNode* TGeoNavigator::fLastNode
private

top physical node

Definition at line 82 of file TGeoNavigator.h.

Referenced by CdTop(), CdUp(), FindInCluster(), operator=(), and ResetAll().

Double_t TGeoNavigator::fLastPoint[3]
private
Double_t TGeoNavigator::fLastSafety
private

safety radius from current point

Definition at line 52 of file TGeoNavigator.h.

Referenced by FindNextBoundary(), FindNextBoundaryAndStep(), GetLastSafety(), IsSafeStep(), IsSameLocation(), operator=(), ResetAll(), and SetLastSafetyForPoint().

Int_t TGeoNavigator::fLevel
private
Int_t TGeoNavigator::fNextDaughterIndex
private

number of overlapping nodes on current branch

Definition at line 62 of file TGeoNavigator.h.

Referenced by CdNext(), FindNextBoundary(), GetNextDaughterIndex(), operator=(), ResetAll(), and SearchNode().

TGeoNode* TGeoNavigator::fNextNode
private
Int_t TGeoNavigator::fNmany
private
Double_t TGeoNavigator::fNormal[3]
private

last computed safety radius

Definition at line 53 of file TGeoNavigator.h.

Referenced by FindNormalFast(), GetNormal(), operator=(), and TGeoNavigator().

Int_t* TGeoNavigator::fOverlapClusters
private

current recursive position in fOverlapClusters

Definition at line 65 of file TGeoNavigator.h.

Referenced by operator=(), SearchNode(), TGeoNavigator(), and ~TGeoNavigator().

Int_t TGeoNavigator::fOverlapMark
private

current size of fOverlapClusters

Definition at line 64 of file TGeoNavigator.h.

Referenced by operator=(), and SearchNode().

Int_t TGeoNavigator::fOverlapSize
private

next daughter index after FindNextBoundary

Definition at line 63 of file TGeoNavigator.h.

Referenced by operator=(), SearchNode(), and TGeoNavigator().

TString TGeoNavigator::fPath
private

current local matrix of the selected division cell

Definition at line 89 of file TGeoNavigator.h.

Referenced by operator=(), and ResetAll().

Double_t TGeoNavigator::fPoint[3]
private
Double_t TGeoNavigator::fSafety
private

step to be done from current point and direction

Definition at line 51 of file TGeoNavigator.h.

Referenced by FindNextBoundary(), FindNextBoundaryAndStep(), FindNode(), GetSafeDistance(), operator=(), ResetAll(), Safety(), and SafetyOverlaps().

Bool_t TGeoNavigator::fSearchOverlaps
private

internal array for overlaps

Definition at line 66 of file TGeoNavigator.h.

Referenced by FindInCluster(), FindNode(), IsCheckingOverlaps(), operator=(), ResetState(), SearchNode(), and SetCheckingOverlaps().

Bool_t TGeoNavigator::fStartSafe
private

flags the type of the current node

Definition at line 68 of file TGeoNavigator.h.

Referenced by FindNode(), IsStartSafe(), operator=(), ResetAll(), and SetStartSafe().

Double_t TGeoNavigator::fStep
private
Int_t TGeoNavigator::fThreadId
private

last point for which safety was computed

Definition at line 59 of file TGeoNavigator.h.

Referenced by GetThreadId(), operator=(), and TGeoNavigator().

TGeoNode* TGeoNavigator::fTopNode
private

current node

Definition at line 81 of file TGeoNavigator.h.

Referenced by operator=().

Collaboration diagram for TGeoNavigator:
[legend]

The documentation for this class was generated from the following files: