Logo ROOT  
Reference Guide
 
Loading...
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 ,
  kBitMask = 0x00ffffff
}
 
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.
 
virtual void AppendPad (Option_t *option="")
 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)
 Operator delete [].
 
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
 

Additional Inherited Members

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

#include <TGeoNode.h>

Inheritance diagram for TGeoNode:
[legend]

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
kGeoNodeMatrix 
kGeoNodeOffset 
kGeoNodeVC 
kGeoNodeOverlap 
kGeoNodeCloned 

Definition at line 56 of file TGeoNode.h.

Constructor & Destructor Documentation

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

Member Function Documentation

◆ 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 692 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 543 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 531 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 582 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 590 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 598 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 566 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 574 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 553 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 603 of file TGeoNode.cxx.

◆ PrintCandidates()

void TGeoNode::PrintCandidates ( ) const

print daughters candidates for containing current point

Definition at line 614 of file TGeoNode.cxx.

◆ PrintOverlaps()

void TGeoNode::PrintOverlaps ( ) const

print possible overlapping nodes

Definition at line 665 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 682 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 517 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 705 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 716 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 729 of file TGeoNode.cxx.

Member Data Documentation

◆ 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: