ROOT   Reference Guide
Searching...
No Matches
TGeoNode Class Referenceabstract

A node represent a volume positioned inside another.They store links to both volumes and to the TGeoMatrix representing the relative positioning.

Node are never instantiated directly by users, but created as a result of volume operations. Adding a volume named A with a given user ID inside a volume B will create a node node named A_ID. This will be added to the list of nodes stored by B. Also, when applying a division operation in N slices to a volume A, a list of nodes B_1, B_2, ..., B_N is also created. A node B_i does not represent a unique object in the geometry because its container A might be at its turn positioned as node inside several other volumes. Only when a complete branch of nodes is fully defined up to the top node in the geometry, a given path like:

/TOP_1/.../A_3/B_7 will represent an unique object.

Its global transformation matrix can be computed as the pile-up of all local transformations in its branch. We will therefore call "logical graph" the hierarchy defined by nodes and volumes. The expansion of the logical graph by all possible paths defines a tree structure where all nodes are unique "touchable" objects. We will call this the "physical tree". Unlike the logical graph, the physical tree can become a huge structure with several milions of nodes in case of complex geometries, therefore it is not always a good idea to keep it transient in memory. Since a the logical and physical structures are correlated, the modeller rather keeps track only of the current branch, updating the current global matrix at each change of the level in geometry. The current physical node is not an object that can be asked for at a given moment, but rather represented by the combination: current node + current global matrix. However, physical nodes have unique ID's that can be retrieved for a given modeler state. These can be fed back to the modeler in order to force a physical node to become current. The advantage of this comes from the fact that all navigation queries check first the current node, therefore knowing the location of a point in the geometry can be saved as a starting state for later use.

Nodes can be declared as "overlapping" in case they do overlap with other nodes inside the same container or extrude this container. Non-overlapping nodes can be created with:

TGeoVolume::AddNode(TGeoVolume *daughter, Int_t copy_No, TGeoMatrix *matr);
Geometrical transformation package.
Definition TGeoMatrix.h:38
TGeoVolume, TGeoVolumeMulti, TGeoVolumeAssembly are the volume classes.
Definition TGeoVolume.h:43
virtual TGeoNode * AddNode(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=nullptr, Option_t *option="")
Add a TGeoNode to the list of nodes.

The creation of overlapping nodes can be done with a similar prototype:

virtual void AddNodeOverlap(TGeoVolume *vol, Int_t copy_no, TGeoMatrix *mat=nullptr, Option_t *option="")
Add a TGeoNode to the list of nodes.

When closing the geometry, overlapping nodes perform a check of possible overlaps with their neighbours. These are stored and checked all the time during navigation, therefore navigation is slower when embedding such nodes into geometry.

Node have visualization attributes as volume have. When undefined by users, painting a node on a pad will take the corresponding volume attributes.

Definition at line 39 of file TGeoNode.h.

## Public Types

enum  {
kGeoNodeMatrix = (1ULL << ( 14 )) , kGeoNodeOffset = (1ULL << ( 15 )) , kGeoNodeVC = (1ULL << ( 16 )) , kGeoNodeOverlap = (1ULL << ( 17 )) ,
kGeoNodeCloned = (1ULL << ( 18 ))
}

Public Types inherited from TObject
enum  {
kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
}

enum  { kSingleKey = (1ULL << ( 0 )) , kOverwrite = (1ULL << ( 1 )) , kWriteDelete = (1ULL << ( 2 )) }

enum  EDeprecatedStatusBits { kObjInCanvas = (1ULL << ( 3 )) }

enum  EStatusBits {
kCanDelete = (1ULL << ( 0 )) , kMustCleanup = (1ULL << ( 3 )) , kIsReferenced = (1ULL << ( 4 )) , kHasUUID = (1ULL << ( 5 )) ,
kCannotPick = (1ULL << ( 6 )) , kNoContextMenu = (1ULL << ( 8 )) , kInvalidObject = (1ULL << ( 13 ))
}

Public Types inherited from TGeoAtt
enum  { kBitMask = 0x00ffffff }

enum  EGeoActivityAtt { kActOverride = (1ULL << ( 8 )) , kActNone = (1ULL << ( 9 )) , kActThis = (1ULL << ( 10 )) , kActDaughters = (1ULL << ( 11 )) }

enum  EGeoOptimizationAtt { kUseBoundingBox = (1ULL << ( 16 )) , kUseVoxels = (1ULL << ( 17 )) , kUseGsord = (1ULL << ( 18 )) }

enum  EGeoSavePrimitiveAtt { kSavePrimitiveAtt = (1ULL << ( 19 )) , kSaveNodesAtt = (1ULL << ( 20 )) }

enum  EGeoVisibilityAtt {
kVisOverride = (1ULL << ( 0 )) , kVisNone = (1ULL << ( 1 )) , kVisThis = (1ULL << ( 2 )) , kVisDaughters = (1ULL << ( 3 )) ,
kVisOneLevel = (1ULL << ( 4 )) , kVisStreamed = (1ULL << ( 5 )) , kVisTouched = (1ULL << ( 6 )) , kVisOnScreen = (1ULL << ( 7 )) ,
kVisContainers = (1ULL << ( 12 )) , kVisOnly = (1ULL << ( 13 )) , kVisBranch = (1ULL << ( 14 )) , kVisRaytrace = (1ULL << ( 15 ))
}

## Public Member Functions

TGeoNode ()
Default constructor.

TGeoNode (const TGeoVolume *vol)
Constructor.

~TGeoNode () override
Destructor.

void Browse (TBrowser *b) override
How-to-browse for a node.

virtual void cd () const

void CheckOverlaps (Double_t ovlp=0.1, Option_t *option="")
Check overlaps bigger than OVLP hierarchically, starting with this node.

void CheckShapes ()
check for wrong parameters in shapes

Int_t CountDaughters (Bool_t unique_volumes=kFALSE)
Returns the number of daughters.

Int_t DistancetoPrimitive (Int_t px, Int_t py) override
compute the closest distance of approach from point px,py to this node

void Draw (Option_t *option="") override
draw current node according to option

void DrawOnly (Option_t *option="")
draw only this node independently of its vis options

void DrawOverlaps ()
Method drawing the overlap candidates with this node.

void ExecuteEvent (Int_t event, Int_t px, Int_t py) override
Execute mouse actions on this volume.

void FillIdArray (Int_t &ifree, Int_t &nodeid, Int_t *array) const
Fill array with node id. Recursive on node branch.

Int_t FindNode (const TGeoNode *node, Int_t level)
Search for a node within the branch of this one.

virtual Int_t GetByteCount () const

Int_t GetColour () const

TGeoNodeGetDaughter (Int_t ind) const

virtual TGeoPatternFinderGetFinder () const

TGeoExtensionGetFWExtension () const

virtual Int_t GetIndex () const

virtual TGeoMatrixGetMatrix () const =0

TGeoMediumGetMedium () const

TGeoVolumeGetMotherVolume () const

Int_t GetNdaughters () const

TObjArrayGetNodes () const

Int_t GetNumber () const

char * GetObjectInfo (Int_t px, Int_t py) const override
Get node info for the browser.

virtual Int_t GetOptimalVoxels () const

Int_tGetOverlaps (Int_t &novlp) const

TGeoExtensionGetUserExtension () const

TGeoVolumeGetVolume () const

TGeoExtensionGrabFWExtension () const
Get a copy of the framework extension pointer.

TGeoExtensionGrabUserExtension () const
Get a copy of the user extension pointer.

void InspectNode () const
Inspect this node.

TClassIsA () const override

Bool_t IsCloned () const

Bool_t IsFolder () const override
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).

Bool_t IsOffset () const

Bool_t IsOnScreen () const
check if this node is drawn. Assumes that this node is current

Bool_t IsOverlapping () const

Bool_t IsVirtual () const

Bool_t IsVisDaughters () const

Bool_t IsVisible () const

virtual void LocalToMaster (const Double_t *local, Double_t *master) const
Convert the point coordinates from local reference system to mother reference.

virtual void LocalToMasterVect (const Double_t *local, Double_t *master) const
Convert a vector from local reference system to mother reference.

void ls (Option_t *option="") const override
Print the path (A/B/C/...) to this node on stdout.

virtual TGeoNodeMakeCopyNode () const

virtual void MasterToLocal (const Double_t *master, Double_t *local) const
Convert the point coordinates from mother reference to local reference system.

virtual void MasterToLocalVect (const Double_t *master, Double_t *local) const
Convert a vector from mother reference to local reference system.

Bool_t MayOverlap (Int_t iother) const
Check the overlab between the bounding box of the node overlaps with the one the brother with index IOTHER.

void Paint (Option_t *option="") override
Paint this node and its content according to visualization settings.

void PrintCandidates () const
print daughters candidates for containing current point

void PrintOverlaps () const
print possible overlapping nodes

Double_t Safety (const Double_t *point, Bool_t in=kTRUE) const
computes the closest distance from given point to this shape

void SaveAttributes (std::ostream &out)
save attributes for this node

void SetAllInvisible ()

void SetCloned (Bool_t flag=kTRUE)

void SetCurrentPoint (Double_t x, Double_t y, Double_t z)

void SetFWExtension (TGeoExtension *ext)
Connect framework defined extension to the node.

void SetInvisible ()

void SetMotherVolume (TGeoVolume *mother)

void SetNumber (Int_t number)

void SetOverlapping (Bool_t flag=kTRUE)

void SetOverlaps (Int_t *ovlp, Int_t novlp)
set the list of overlaps for this node (ovlp must be created with operator new)

void SetUserExtension (TGeoExtension *ext)
Connect user-defined extension to the node.

void SetVirtual ()

void SetVisibility (Bool_t vis=kTRUE) override
Set visibility of the node (obsolete).

void SetVolume (TGeoVolume *volume)

void Streamer (TBuffer &) override
Stream an object of class TObject.

void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)

void VisibleDaughters (Bool_t vis=kTRUE)
Set visibility of the daughters (obsolete).

Public Member Functions inherited from TNamed
TNamed ()

TNamed (const char *name, const char *title)

TNamed (const TNamed &named)
TNamed copy ctor.

TNamed (const TString &name, const TString &title)

virtual ~TNamed ()
TNamed destructor.

void Clear (Option_t *option="") override
Set name and title to empty strings ("").

TObjectClone (const char *newname="") const override
Make a clone of an object using the Streamer facility.

Int_t Compare (const TObject *obj) const override
Compare two TNamed objects.

void Copy (TObject &named) const override
Copy this to obj.

virtual void FillBuffer (char *&buffer)
Encode TNamed into output buffer.

const char * GetName () const override
Returns name of object.

const char * GetTitle () const override
Returns title of object.

ULong_t Hash () const override
Return hash value for this object.

TClassIsA () const override

Bool_t IsSortable () const override

void ls (Option_t *option="") const override
List TNamed name and title.

TNamedoperator= (const TNamed &rhs)
TNamed assignment operator.

void Print (Option_t *option="") const override
Print TNamed name and title.

virtual void SetName (const char *name)
Set the name of the TNamed.

virtual void SetNameTitle (const char *name, const char *title)
Set all the TNamed parameters (name and title).

virtual void SetTitle (const char *title="")
Set the title of the TNamed.

virtual Int_t Sizeof () const
Return size of the TNamed part of the TObject.

void Streamer (TBuffer &) override
Stream an object of class TObject.

void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)

Public Member Functions inherited from TObject
TObject ()
TObject constructor.

TObject (const TObject &object)
TObject copy ctor.

virtual ~TObject ()
TObject destructor.

void AbstractMethod (const char *method) const
Use this method to implement an "abstract" method that you don't want to leave purely abstract.

Append graphics object to current pad.

ULong_t CheckedHash ()
Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.

virtual const char * ClassName () const
Returns name of class to which the object belongs.

virtual void Delete (Option_t *option="")
Delete this object.

virtual void DrawClass () const
Draw class inheritance tree of the class to which this object belongs.

virtual TObjectDrawClone (Option_t *option="") const
Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).

virtual void Dump () const
Dump contents of object on stdout.

virtual void Error (const char *method, const char *msgfmt,...) const
Issue error message.

virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
Execute method on this object with the given parameter string, e.g.

virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
Execute method on this object with parameters stored in the TObjArray.

virtual void Fatal (const char *method, const char *msgfmt,...) const
Issue fatal error message.

virtual TObjectFindObject (const char *name) const
Must be redefined in derived classes.

virtual TObjectFindObject (const TObject *obj) const
Must be redefined in derived classes.

virtual Option_tGetDrawOption () const
Get option used by the graphics system to draw this object.

virtual const char * GetIconName () const
Returns mime type name of object.

virtual Option_tGetOption () const

virtual UInt_t GetUniqueID () const
Return the unique object id.

virtual Bool_t HandleTimer (TTimer *timer)
Execute action in response of a timer timing out.

Bool_t HasInconsistentHash () const
Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.

virtual void Info (const char *method, const char *msgfmt,...) const
Issue info message.

virtual Bool_t InheritsFrom (const char *classname) const
Returns kTRUE if object inherits from class "classname".

virtual Bool_t InheritsFrom (const TClass *cl) const
Returns kTRUE if object inherits from TClass cl.

virtual void Inspect () const
Dump contents of this object in a graphics canvas.

void InvertBit (UInt_t f)

Bool_t IsDestructed () const
IsDestructed.

virtual Bool_t IsEqual (const TObject *obj) const
Default equal comparison (objects are equal if they have the same address in memory).

R__ALWAYS_INLINE Bool_t IsOnHeap () const

R__ALWAYS_INLINE Bool_t IsZombie () const

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).

virtual Bool_t Notify ()
This method must be overridden to handle object notification (the base implementation is no-op).

void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
Use this method to declare a method obsolete.

void operator delete (void *ptr)
Operator delete.

void operator delete (void *ptr, void *vp)
Only called by placement new when throwing an exception.

void operator delete[] (void *ptr)
Operator delete [].

void operator delete[] (void *ptr, void *vp)
Only called by placement new[] when throwing an exception.

void * operator new (size_t sz)

void * operator new (size_t sz, void *vp)

void * operator new[] (size_t sz)

void * operator new[] (size_t sz, void *vp)

TObjectoperator= (const TObject &rhs)
TObject assignment operator.

virtual void Pop ()
Pop on object drawn in a pad to the top of the display list.

virtual Int_t Read (const char *name)
Read contents of object with specified name from the current directory.

virtual void RecursiveRemove (TObject *obj)
Recursively remove this object from a list.

void ResetBit (UInt_t f)

virtual void SaveAs (const char *filename="", Option_t *option="") const
Save this object in the file specified by filename.

virtual void SavePrimitive (std::ostream &out, Option_t *option="")
Save a primitive as a C++ statement(s) on output stream "out".

void SetBit (UInt_t f)

void SetBit (UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.

virtual void SetDrawOption (Option_t *option="")
Set drawing option for object.

virtual void SetUniqueID (UInt_t uid)
Set the unique object id.

void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)

virtual void SysError (const char *method, const char *msgfmt,...) const
Issue system error message.

R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const

Int_t TestBits (UInt_t f) const

virtual void UseCurrentStyle ()
Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.

virtual void Warning (const char *method, const char *msgfmt,...) const
Issue warning message.

virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
Write this object to the current directory.

virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const
Write this object to the current directory.

Public Member Functions inherited from TGeoAtt
TGeoAtt ()
Default constructor.

TGeoAtt (Option_t *vis_opt, Option_t *activity_opt="", Option_t *optimization_opt="")
Constructor.

virtual ~TGeoAtt ()
Destructor.

Bool_t IsActive () const

Bool_t IsActiveDaughters () const

Bool_t IsVisBranch () const

Bool_t IsVisContainers () const

Bool_t IsVisDaughters () const

Bool_t IsVisible () const

Bool_t IsVisLeaves () const

Bool_t IsVisOnly () const

Bool_t IsVisRaytrace () const

Bool_t IsVisStreamed () const

Bool_t IsVisTouched () const

void ResetAttBit (UInt_t f)

void SetActiveDaughters (Bool_t flag=kTRUE)

void SetActivity (Bool_t flag=kTRUE)

void SetAttBit (UInt_t f)

void SetAttBit (UInt_t f, Bool_t set)

void SetOptimization (Option_t *option)
Set optimization flags.

void SetVisBranch ()
Set branch type visibility.

virtual void SetVisContainers (Bool_t flag=kTRUE)
Set branch type visibility.

void SetVisDaughters (Bool_t vis=kTRUE)
Set visibility for the daughters.

virtual void SetVisLeaves (Bool_t flag=kTRUE)
Set branch type visibility.

virtual void SetVisOnly (Bool_t flag=kTRUE)
Set branch type visibility.

void SetVisRaytrace (Bool_t flag=kTRUE)

void SetVisStreamed (Bool_t vis=kTRUE)
Mark attributes as "streamed to file".

void SetVisTouched (Bool_t vis=kTRUE)
Mark visualization attributes as "modified".

void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)

Bool_t TestAttBit (UInt_t f) const

## Static Public Member Functions

static TClassClass ()

static const char * Class_Name ()

static constexpr Version_t Class_Version ()

static const char * DeclFileName ()

Static Public Member Functions inherited from TNamed
static TClassClass ()

static const char * Class_Name ()

static constexpr Version_t Class_Version ()

static const char * DeclFileName ()

Static Public Member Functions inherited from TObject
static TClassClass ()

static const char * Class_Name ()

static constexpr Version_t Class_Version ()

static const char * DeclFileName ()

static Longptr_t GetDtorOnly ()
Return destructor only flag.

static Bool_t GetObjectStat ()
Get status of object stat flag.

static void SetDtorOnly (void *obj)
Set destructor only flag.

static void SetObjectStat (Bool_t stat)
Turn on/off tracking of objects in the TObjectTable.

Static Public Member Functions inherited from TGeoAtt
static TClassClass ()

static const char * Class_Name ()

static constexpr Version_t Class_Version ()

static const char * DeclFileName ()

## Protected Member Functions

void CopyOverlaps (Int_t *ovlp, Int_t novlp)
Transient framework-defined extension to volumes.

Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
Interface to ErrorHandler (protected).

void MakeZombie ()

## Protected Attributes

TGeoExtensionfFWExtension = nullptr
Transient user-defined extension to volumes.

TGeoVolumefMother = nullptr

Int_t fNovlp = 0

Int_t fNumber = 0

Int_tfOverlaps = nullptr

TGeoExtensionfUserExtension = nullptr

TGeoVolumefVolume = nullptr

Protected Attributes inherited from TNamed
TString fName

TString fTitle

Protected Attributes inherited from TGeoAtt
UInt_t fGeoAtt

## Private Member Functions

TGeoNode (const TGeoNode &)=delete

TGeoNodeoperator= (const TGeoNode &)=delete

Protected Types inherited from TObject
enum  { kOnlyPrepStep = (1ULL << ( 3 )) }

#include <TGeoNode.h>

Inheritance diagram for TGeoNode:
[legend]

## ◆ anonymous enum

 anonymous enum
Enumerator
kGeoNodeMatrix
kGeoNodeOffset
kGeoNodeVC
kGeoNodeOverlap
kGeoNodeCloned

Definition at line 56 of file TGeoNode.h.

## ◆ TGeoNode() [1/3]

 TGeoNode::TGeoNode ( const TGeoNode & )
privatedelete

## ◆ TGeoNode() [2/3]

 TGeoNode::TGeoNode ( )

Default constructor.

Definition at line 95 of file TGeoNode.cxx.

## ◆ TGeoNode() [3/3]

 TGeoNode::TGeoNode ( const TGeoVolume * vol )

Constructor.

Definition at line 109 of file TGeoNode.cxx.

## ◆ ~TGeoNode()

 TGeoNode::~TGeoNode ( )
override

Destructor.

Definition at line 130 of file TGeoNode.cxx.

## ◆ Browse()

 void TGeoNode::Browse ( TBrowser * b )
overridevirtual

How-to-browse for a node.

Reimplemented from TObject.

Definition at line 147 of file TGeoNode.cxx.

## ◆ cd()

 virtual void TGeoNode::cd ( ) const
inlinevirtual

Reimplemented in TGeoNodeOffset.

Definition at line 71 of file TGeoNode.h.

## ◆ CheckOverlaps()

 void TGeoNode::CheckOverlaps ( Double_t ovlp = 0.1, Option_t * option = "" )

Check overlaps bigger than OVLP hierarchically, starting with this node.

Definition at line 192 of file TGeoNode.cxx.

## ◆ CheckShapes()

 void TGeoNode::CheckShapes ( )

check for wrong parameters in shapes

Definition at line 329 of file TGeoNode.cxx.

## ◆ Class()

 static TClass * TGeoNode::Class ( )
static
Returns
TClass describing this class

## ◆ Class_Name()

 static const char * TGeoNode::Class_Name ( )
static
Returns
Name of this class

## ◆ Class_Version()

 static constexpr Version_t TGeoNode::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 145 of file TGeoNode.h.

## ◆ CopyOverlaps()

 void TGeoNode::CopyOverlaps ( Int_t * ovlp, Int_t novlp )
protected

Transient framework-defined extension to volumes.

Copy content of lst of overlaps from source array.

Definition at line 694 of file TGeoNode.cxx.

## ◆ CountDaughters()

 Int_t TGeoNode::CountDaughters ( Bool_t unique_volumes = kFALSE )

Returns the number of daughters.

Nodes pointing to same volume counted once if unique_volumes is set.

Definition at line 165 of file TGeoNode.cxx.

## ◆ DeclFileName()

 static const char * TGeoNode::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 145 of file TGeoNode.h.

## ◆ DistancetoPrimitive()

 Int_t TGeoNode::DistancetoPrimitive ( Int_t px, Int_t py )
overridevirtual

compute the closest distance of approach from point px,py to this node

Reimplemented from TObject.

Definition at line 251 of file TGeoNode.cxx.

## ◆ Draw()

 void TGeoNode::Draw ( Option_t * option = "" )
overridevirtual

draw current node according to option

Reimplemented from TObject.

Definition at line 350 of file TGeoNode.cxx.

## ◆ DrawOnly()

 void TGeoNode::DrawOnly ( Option_t * option = "" )

draw only this node independently of its vis options

Definition at line 342 of file TGeoNode.cxx.

## ◆ DrawOverlaps()

 void TGeoNode::DrawOverlaps ( )

Method drawing the overlap candidates with this node.

Definition at line 363 of file TGeoNode.cxx.

## ◆ ExecuteEvent()

 void TGeoNode::ExecuteEvent ( Int_t event, Int_t px, Int_t py )
overridevirtual

Execute mouse actions on this volume.

Reimplemented from TObject.

Definition at line 268 of file TGeoNode.cxx.

## ◆ FillIdArray()

 void TGeoNode::FillIdArray ( Int_t & ifree, Int_t & nodeid, Int_t * array ) const

Fill array with node id. Recursive on node branch.

Definition at line 392 of file TGeoNode.cxx.

## ◆ FindNode()

 Int_t TGeoNode::FindNode ( const TGeoNode * node, Int_t level )

Search for a node within the branch of this one.

Definition at line 411 of file TGeoNode.cxx.

## ◆ GetByteCount()

 virtual Int_t TGeoNode::GetByteCount ( ) const
inlinevirtual

Reimplemented in TGeoNodeMatrix.

Definition at line 82 of file TGeoNode.h.

## ◆ GetColour()

 Int_t TGeoNode::GetColour ( ) const
inline

Definition at line 86 of file TGeoNode.h.

## ◆ GetDaughter()

 TGeoNode * TGeoNode::GetDaughter ( Int_t ind ) const
inline

Definition at line 83 of file TGeoNode.h.

## ◆ GetFinder()

 virtual TGeoPatternFinder * TGeoNode::GetFinder ( ) const
inlinevirtual

Reimplemented in TGeoNodeOffset.

Definition at line 88 of file TGeoNode.h.

## ◆ GetFWExtension()

 TGeoExtension * TGeoNode::GetFWExtension ( ) const
inline

Definition at line 130 of file TGeoNode.h.

## ◆ GetIndex()

 virtual Int_t TGeoNode::GetIndex ( ) const
inlinevirtual

Reimplemented in TGeoNodeOffset.

Definition at line 87 of file TGeoNode.h.

## ◆ GetMatrix()

 virtual TGeoMatrix * TGeoNode::GetMatrix ( ) const
pure virtual

Implemented in TGeoNodeMatrix, and TGeoNodeOffset.

## ◆ GetMedium()

 TGeoMedium * TGeoNode::GetMedium ( ) const
inline

Definition at line 89 of file TGeoNode.h.

## ◆ GetMotherVolume()

 TGeoVolume * TGeoNode::GetMotherVolume ( ) const
inline

Definition at line 90 of file TGeoNode.h.

## ◆ GetNdaughters()

 Int_t TGeoNode::GetNdaughters ( ) const
inline

Definition at line 91 of file TGeoNode.h.

## ◆ GetNodes()

 TObjArray * TGeoNode::GetNodes ( ) const
inline

Definition at line 92 of file TGeoNode.h.

## ◆ GetNumber()

 Int_t TGeoNode::GetNumber ( ) const
inline

Definition at line 93 of file TGeoNode.h.

## ◆ GetObjectInfo()

 char * TGeoNode::GetObjectInfo ( Int_t px, Int_t py ) const
overridevirtual

Get node info for the browser.

Reimplemented from TObject.

Definition at line 281 of file TGeoNode.cxx.

## ◆ GetOptimalVoxels()

 virtual Int_t TGeoNode::GetOptimalVoxels ( ) const
inlinevirtual

Reimplemented in TGeoNodeMatrix.

Definition at line 101 of file TGeoNode.h.

## ◆ GetOverlaps()

 Int_t * TGeoNode::GetOverlaps ( Int_t & novlp ) const
inline

Definition at line 94 of file TGeoNode.h.

## ◆ GetUserExtension()

 TGeoExtension * TGeoNode::GetUserExtension ( ) const
inline

Definition at line 129 of file TGeoNode.h.

## ◆ GetVolume()

 TGeoVolume * TGeoNode::GetVolume ( ) const
inline

Definition at line 99 of file TGeoNode.h.

## ◆ GrabFWExtension()

 TGeoExtension * TGeoNode::GrabFWExtension ( ) const

Get a copy of the framework extension pointer.

The user must call Release() on the copy pointer once this pointer is not needed anymore (equivalent to delete() after calling new())

Definition at line 545 of file TGeoNode.cxx.

## ◆ GrabUserExtension()

 TGeoExtension * TGeoNode::GrabUserExtension ( ) const

Get a copy of the user extension pointer.

The user must call Release() on the copy pointer once this pointer is not needed anymore (equivalent to delete() after calling new())

Definition at line 533 of file TGeoNode.cxx.

## ◆ InspectNode()

 void TGeoNode::InspectNode ( ) const

Inspect this node.

Definition at line 304 of file TGeoNode.cxx.

## ◆ IsA()

 TClass * TGeoNode::IsA ( ) const
inlineoverridevirtual
Returns
TClass describing current object

Reimplemented from TObject.

Reimplemented in TGeoNodeMatrix, and TGeoNodeOffset.

Definition at line 145 of file TGeoNode.h.

## ◆ IsCloned()

 Bool_t TGeoNode::IsCloned ( ) const
inline

Definition at line 103 of file TGeoNode.h.

## ◆ IsFolder()

 Bool_t TGeoNode::IsFolder ( ) const
inlineoverridevirtual

Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).

Reimplemented from TObject.

Reimplemented in TGeoNodeMatrix.

Definition at line 104 of file TGeoNode.h.

## ◆ IsOffset()

 Bool_t TGeoNode::IsOffset ( ) const
inline

Definition at line 105 of file TGeoNode.h.

## ◆ IsOnScreen()

 Bool_t TGeoNode::IsOnScreen ( ) const

check if this node is drawn. Assumes that this node is current

Definition at line 294 of file TGeoNode.cxx.

## ◆ IsOverlapping()

 Bool_t TGeoNode::IsOverlapping ( ) const
inline

Definition at line 107 of file TGeoNode.h.

## ◆ IsVirtual()

 Bool_t TGeoNode::IsVirtual ( ) const
inline

Definition at line 108 of file TGeoNode.h.

## ◆ IsVisDaughters()

 Bool_t TGeoNode::IsVisDaughters ( ) const
inline

Definition at line 110 of file TGeoNode.h.

## ◆ IsVisible()

 Bool_t TGeoNode::IsVisible ( ) const
inline

Definition at line 109 of file TGeoNode.h.

## ◆ LocalToMaster()

 void TGeoNode::LocalToMaster ( const Double_t * local, Double_t * master ) const
virtual

Convert the point coordinates from local reference system to mother reference.

Definition at line 584 of file TGeoNode.cxx.

## ◆ LocalToMasterVect()

 void TGeoNode::LocalToMasterVect ( const Double_t * local, Double_t * master ) const
virtual

Convert a vector from local reference system to mother reference.

Definition at line 592 of file TGeoNode.cxx.

## ◆ ls()

 void TGeoNode::ls ( Option_t * option = "" ) const
overridevirtual

Print the path (A/B/C/...) to this node on stdout.

Reimplemented from TObject.

Definition at line 600 of file TGeoNode.cxx.

## ◆ MakeCopyNode()

 virtual TGeoNode * TGeoNode::MakeCopyNode ( ) const
inlinevirtual

Reimplemented in TGeoNodeMatrix, and TGeoNodeOffset.

Definition at line 113 of file TGeoNode.h.

## ◆ MasterToLocal()

 void TGeoNode::MasterToLocal ( const Double_t * master, Double_t * local ) const
virtual

Convert the point coordinates from mother reference to local reference system.

Definition at line 568 of file TGeoNode.cxx.

## ◆ MasterToLocalVect()

 void TGeoNode::MasterToLocalVect ( const Double_t * master, Double_t * local ) const
virtual

Convert a vector from mother reference to local reference system.

Definition at line 576 of file TGeoNode.cxx.

## ◆ MayOverlap()

 Bool_t TGeoNode::MayOverlap ( Int_t iother ) const

Check the overlab between the bounding box of the node overlaps with the one the brother with index IOTHER.

Definition at line 555 of file TGeoNode.cxx.

## ◆ operator=()

 TGeoNode & TGeoNode::operator= ( const TGeoNode & )
privatedelete

## ◆ Paint()

 void TGeoNode::Paint ( Option_t * option = "" )
overridevirtual

Paint this node and its content according to visualization settings.

Reimplemented from TObject.

Definition at line 605 of file TGeoNode.cxx.

## ◆ PrintCandidates()

 void TGeoNode::PrintCandidates ( ) const

print daughters candidates for containing current point

Definition at line 616 of file TGeoNode.cxx.

## ◆ PrintOverlaps()

 void TGeoNode::PrintOverlaps ( ) const

print possible overlapping nodes

Definition at line 667 of file TGeoNode.cxx.

## ◆ Safety()

 Double_t TGeoNode::Safety ( const Double_t * point, Bool_t in = kTRUE ) const

computes the closest distance from given point to this shape

Definition at line 684 of file TGeoNode.cxx.

## ◆ SaveAttributes()

 void TGeoNode::SaveAttributes ( std::ostream & out )

save attributes for this node

Definition at line 439 of file TGeoNode.cxx.

## ◆ SetAllInvisible()

 void TGeoNode::SetAllInvisible ( )
inline

Definition at line 124 of file TGeoNode.h.

## ◆ SetCloned()

 void TGeoNode::SetCloned ( Bool_t flag = kTRUE )
inline

Definition at line 119 of file TGeoNode.h.

## ◆ SetCurrentPoint()

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

Definition at line 116 of file TGeoNode.h.

## ◆ SetFWExtension()

 void TGeoNode::SetFWExtension ( TGeoExtension * ext )

Connect framework defined extension to the node.

The node "grabs" a copy, so the original object can be released by the producer. Release the previously connected extension if any.

NOTE: This interface is intended for the use by TGeo and the users should NOT connect extensions using this method

Definition at line 518 of file TGeoNode.cxx.

## ◆ SetInvisible()

 void TGeoNode::SetInvisible ( )
inline

Definition at line 123 of file TGeoNode.h.

## ◆ SetMotherVolume()

 void TGeoNode::SetMotherVolume ( TGeoVolume * mother )
inline

Definition at line 125 of file TGeoNode.h.

## ◆ SetNumber()

 void TGeoNode::SetNumber ( Int_t number )
inline

Definition at line 118 of file TGeoNode.h.

## ◆ SetOverlapping()

 void TGeoNode::SetOverlapping ( Bool_t flag = kTRUE )
inline

Definition at line 120 of file TGeoNode.h.

## ◆ SetOverlaps()

 void TGeoNode::SetOverlaps ( Int_t * ovlp, Int_t novlp )

set the list of overlaps for this node (ovlp must be created with operator new)

Definition at line 707 of file TGeoNode.cxx.

## ◆ SetUserExtension()

 void TGeoNode::SetUserExtension ( TGeoExtension * ext )

Connect user-defined extension to the node.

The node "grabs" a copy, so the original object can be released by the producer. Release the previously connected extension if any.

NOTE: This interface is intended for user extensions and is guaranteed not to be used by TGeo

Definition at line 500 of file TGeoNode.cxx.

## ◆ SetVirtual()

 void TGeoNode::SetVirtual ( )
inline

Definition at line 121 of file TGeoNode.h.

## ◆ SetVisibility()

 void TGeoNode::SetVisibility ( Bool_t vis = kTRUE )
overridevirtual

Set visibility of the node (obsolete).

Reimplemented from TGeoAtt.

Definition at line 718 of file TGeoNode.cxx.

## ◆ SetVolume()

 void TGeoNode::SetVolume ( TGeoVolume * volume )
inline

Definition at line 117 of file TGeoNode.h.

## ◆ Streamer()

 void TGeoNode::Streamer ( TBuffer & R__b )
overridevirtual

Stream an object of class TObject.

Reimplemented from TObject.

Reimplemented in TGeoNodeMatrix, and TGeoNodeOffset.

## ◆ StreamerNVirtual()

 void TGeoNode::StreamerNVirtual ( TBuffer & ClassDef_StreamerNVirtual_b )
inline

Definition at line 145 of file TGeoNode.h.

## ◆ VisibleDaughters()

 void TGeoNode::VisibleDaughters ( Bool_t vis = kTRUE )

Set visibility of the daughters (obsolete).

Definition at line 731 of file TGeoNode.cxx.

## ◆ fFWExtension

 TGeoExtension* TGeoNode::fFWExtension = nullptr
protected

Transient user-defined extension to volumes.

Definition at line 47 of file TGeoNode.h.

## ◆ fMother

 TGeoVolume* TGeoNode::fMother = nullptr
protected

Definition at line 42 of file TGeoNode.h.

## ◆ fNovlp

 Int_t TGeoNode::fNovlp = 0
protected

Definition at line 44 of file TGeoNode.h.

## ◆ fNumber

 Int_t TGeoNode::fNumber = 0
protected

Definition at line 43 of file TGeoNode.h.

## ◆ fOverlaps

 Int_t* TGeoNode::fOverlaps = nullptr
protected

Definition at line 45 of file TGeoNode.h.

## ◆ fUserExtension

 TGeoExtension* TGeoNode::fUserExtension = nullptr
protected

Definition at line 46 of file TGeoNode.h.

## ◆ fVolume

 TGeoVolume* TGeoNode::fVolume = nullptr
protected

Definition at line 41 of file TGeoNode.h.

Libraries for TGeoNode:

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