54   for (
Int_t i = 0; i < 100; i++)
 
 
   93   for (
Int_t i = 0; i < 100; i++)
 
 
  136   Info(
"BuildIDArray", 
"--- node ID tracking enabled, size=%lu Bytes\n", 
ULong_t((2 * 
nnodes + 1) * 
sizeof(
Int_t)));
 
 
  178      Error(
"CdNode", 
"Navigation based on physical node unique id disabled.\n   To enable, use: " 
  179                      "gGeoManager->GetCache()->BuildIdArray()");
 
 
  232   if (!
local->IsIdentity()) {
 
 
  258   if (!
local->IsIdentity()) {
 
 
  369   for (
Int_t level = 0; level < 
fLevel + 1; level++) {
 
 
  512   for (
Int_t i = 0; i < capacity; i++) {
 
 
  523     fCapacity(
gcs.fCapacity),
 
  527     fOverlapping(
gcs.fOverlapping)
 
  530   for (i = 0; i < 3; i++)
 
  532   for (i = 0; i < 30; i++)
 
 
  556      for (i = 0; i < 30; i++)
 
  558      for (i = 0; i < 3; i++)
 
 
long Longptr_t
Integer large enough to hold a pointer (platform-dependent)
 
unsigned long ULong_t
Unsigned long integer 4 bytes (unsigned long). Size depends on architecture.
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize id
 
R__EXTERN TGeoManager * gGeoManager
 
Class storing the state of the cache at a given moment.
 
Bool_t GetState(Int_t &level, Int_t &nmany, Double_t *point) const
Restore a modeler state.
 
TGeoHMatrix ** fMatrixBranch
 
~TGeoCacheState() override
Dtor.
 
TGeoCacheState()
Default ctor.
 
void SetState(Int_t level, Int_t startlevel, Int_t nmany, Bool_t ovlp, Double_t *point=nullptr)
Fill current modeller state.
 
TGeoCacheState & operator=(const TGeoCacheState &)
assignment operator
 
Matrix class used for computing global transformations Should NOT be used for node definition.
 
void CdUp()
Go one level up in geometry.
 
TGeoNode * GetTopNode() const
 
TGeoNodeCache * GetCache() const
 
void CdTop()
Make top level node the current node.
 
void CdDown(Int_t index)
Make a daughter of current node current.
 
Geometrical transformation package.
 
virtual void LocalToMasterVect(const Double_t *local, Double_t *master) const
convert a vector by multiplying its column vector (x, y, z, 1) to matrix inverse
 
virtual void MasterToLocal(const Double_t *master, Double_t *local) const
convert a point by multiplying its column vector (x, y, z, 1) to matrix
 
virtual void MasterToLocalVect(const Double_t *master, Double_t *local) const
convert a point by multiplying its column vector (x, y, z, 1) to matrix
 
virtual void LocalToMasterBomb(const Double_t *local, Double_t *master) const
convert a point by multiplying its column vector (x, y, z, 1) to matrix inverse
 
virtual void LocalToMaster(const Double_t *local, Double_t *master) const
convert a point by multiplying its column vector (x, y, z, 1) to matrix inverse
 
virtual void MasterToLocalBomb(const Double_t *master, Double_t *local) const
convert a point by multiplying its column vector (x, y, z, 1) to matrix
 
Special pool of reusable nodes.
 
void * GetMatrices() const
 
TGeoNode * GetNode() const
 
void CdNode(Int_t nodeid)
Change current path to point to the node having this id.
 
Bool_t PopState(Int_t &nmany, Double_t *point=nullptr)
Pop next state/point from heap.
 
TGeoNodeCache()
Dummy constructor.
 
void GetBranchOnlys(Int_t *isonly) const
Fill copy numbers of current branch nodes.
 
const char * GetPath()
Returns the current geometry path.
 
void MasterToLocal(const Double_t *master, Double_t *local) const
Point in master frame defined by current matrix converted to local one.
 
void BuildIdArray()
Builds node id array.
 
Int_t * fNodeIdArray
State info for the parallel world.
 
void BuildInfoBranch()
Builds info branch. Navigation is possible only after this step.
 
Int_t PushState(Bool_t ovlp, Int_t ntmany=0, Int_t startlevel=0, Double_t *point=nullptr)
Push current state into heap.
 
const Int_t * GetIdBranch() const
 
TGeoHMatrix ** fMatrixBranch
 
void GetBranchNumbers(Int_t *copyNumbers, Int_t *volumeNumbers) const
Fill copy numbers of current branch nodes.
 
TGeoStateInfo ** fInfoBranch
 
TObjArray * fStack
current matrix
 
Int_t GetNodeId() const
Get unique node id.
 
TGeoStateInfo * GetInfo()
Get next state info pointer.
 
TGeoStateInfo * GetMakePWInfo(Int_t nd)
Get the PW info, if none create one.
 
void MasterToLocalVect(const Double_t *master, Double_t *local) const
Vector in master frame defined by current matrix converted to local one.
 
void MasterToLocalBomb(const Double_t *master, Double_t *local) const
Point in master frame defined by current matrix converted to local one and rescaled with bomb factor.
 
Bool_t HasIdArray() const
 
TGeoHMatrix * fMatrix
current node
 
Bool_t CdDown(Int_t index)
Make daughter INDEX of current node the active state. Compute global matrix.
 
Bool_t RestoreState(Int_t &nmany, TGeoCacheState *state, Double_t *point=nullptr)
Pop next state/point from a backed-up state.
 
void LocalToMaster(const Double_t *local, Double_t *master) const
Local point converted to master frame defined by current matrix.
 
void LocalToMasterVect(const Double_t *local, Double_t *master) const
Local vector converted to master frame defined by current matrix.
 
Int_t GetCurrentNodeId() const
Returns a fixed ID for current physical node.
 
void LocalToMasterBomb(const Double_t *local, Double_t *master) const
Local point converted to master frame defined by current matrix and rescaled with bomb factor.
 
void CdUp()
Make mother of current node the active state.
 
void GetBranchNames(Int_t *names) const
Fill names with current branch volume names (4 char - used by GEANT3 interface).
 
void FillIdBranch(const Int_t *br, Int_t startlevel=0)
 
void ReleaseInfo()
Release last used state info pointer.
 
~TGeoNodeCache() override
Destructor.
 
A node represent a volume positioned inside another.They store links to both volumes and to the TGeoM...
 
Bool_t IsOverlapping() const
 
TGeoVolume * GetVolume() const
 
Int_t GetNdaughters() const
 
TGeoNode * GetDaughter(Int_t ind) const
 
void FillIdArray(Int_t &ifree, Int_t &nodeid, Int_t *array) const
Fill array with node id. Recursive on node branch.
 
Int_t GetIndex(const TGeoNode *node) const
get index number for a given daughter
 
const char * GetName() const override
Returns name of object.
 
void Delete(Option_t *option="") override
Remove all objects from the array AND delete all heap based objects.
 
TObject * At(Int_t idx) const override
 
void Add(TObject *obj) override
 
Mother of all ROOT objects.
 
TObject & operator=(const TObject &rhs) noexcept
TObject assignment operator.
 
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
 
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message.
 
const char * Data() const
 
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
 
Statefull info for the current geometry level.