Logo ROOT   6.16/01
Reference Guide
TGeoNode.h
Go to the documentation of this file.
1// @(#)root/geom:$Id$
2// Author: Andrei Gheata 24/10/01
3
4/*************************************************************************
5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TGeoNode
13#define ROOT_TGeoNode
14
15#include "TGeoAtt.h"
16
17#include "TNamed.h"
18
19#include "TGeoVolume.h"
20
21#include "TGeoPatternFinder.h"
22
23// forward declarations
24class TString;
25class TGeoVolume;
26class TGeoShape;
27class TGeoMedium;
28class TGeoMatrix;
29class TGeoHMatrix;
30class TGeoExtension;
31
32////////////////////////////////////////////////////////////////////////////
33// //
34// TGeoNode - base class for logical nodes. They represent volumes //
35// positioned inside a mother volume //
36// //
37////////////////////////////////////////////////////////////////////////////
38
39class TGeoNode : public TNamed,
40 public TGeoAtt
41{
42protected:
43 TGeoVolume *fVolume = nullptr; // volume associated with this
44 TGeoVolume *fMother = nullptr; // mother volume
45 Int_t fNumber = 0; // copy number
46 Int_t fNovlp = 0; // number of overlaps
47 Int_t *fOverlaps = nullptr; //[fNovlp] list of indices for overlapping brothers
48 TGeoExtension *fUserExtension = nullptr; //! Transient user-defined extension to volumes
49 TGeoExtension *fFWExtension = nullptr; //! Transient framework-defined extension to volumes
50
51 TGeoNode(const TGeoNode&);
53
54public:
55 enum {
61 };
62
63 // constructors
64 TGeoNode();
65 TGeoNode(const TGeoVolume *vol);
66 // destructor
67 virtual ~TGeoNode();
68
69 void Browse(TBrowser *b);
70 virtual void cd() const {;}
71 void CheckOverlaps(Double_t ovlp=0.1, Option_t *option=""); // *MENU*
72 void CheckShapes();
73 Int_t CountDaughters(Bool_t unique_volumes=kFALSE);
74 virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
75 void Draw(Option_t *option="");
76 void DrawOnly(Option_t *option="");
77 void DrawOverlaps();
78 virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
79 void FillIdArray(Int_t &ifree, Int_t &nodeid, Int_t *array) const;
80 Int_t FindNode(const TGeoNode *node, Int_t level);
81 virtual Int_t GetByteCount() const {return 44;}
82 TGeoNode *GetDaughter(Int_t ind) const {return fVolume->GetNode(ind);}
83 virtual TGeoMatrix *GetMatrix() const = 0;
84
85 Int_t GetColour() const {return fVolume->GetLineColor();}
86 virtual Int_t GetIndex() const {return 0;}
87 virtual TGeoPatternFinder *GetFinder() const {return 0;}
88 TGeoMedium *GetMedium() const {return fVolume->GetMedium();}
91 TObjArray *GetNodes() const {return fVolume->GetNodes();}
92 Int_t GetNumber() const {return fNumber;}
93 Int_t *GetOverlaps(Int_t &novlp) const {novlp=fNovlp; return fOverlaps;}
94 TGeoVolume *GetVolume() const {return fVolume;}
95 virtual char *GetObjectInfo(Int_t px, Int_t py) const;
96 virtual Int_t GetOptimalVoxels() const {return 0;}
97 void InspectNode() const; // *MENU*
99 virtual Bool_t IsFolder() const {return (GetNdaughters()?kTRUE:kFALSE);}
101 Bool_t IsOnScreen() const; // *MENU*
106 Bool_t MayOverlap(Int_t iother) const;
107
108 virtual TGeoNode *MakeCopyNode() const {return 0;}
109 Double_t Safety(const Double_t *point, Bool_t in=kTRUE) const;
110 void SaveAttributes(std::ostream &out);
112 void SetVolume(TGeoVolume *volume) {fVolume = volume;}
113 void SetNumber(Int_t number) {fNumber=number;}
117 void SetVisibility(Bool_t vis=kTRUE); // *MENU*
118 void SetInvisible() {SetVisibility(kFALSE);} // *MENU*
120 void SetMotherVolume(TGeoVolume *mother) {fMother = mother;}
121 void SetOverlaps(Int_t *ovlp, Int_t novlp);
123 void SetFWExtension(TGeoExtension *ext);
128
129 virtual void MasterToLocal(const Double_t *master, Double_t *local) const;
130 virtual void MasterToLocalVect(const Double_t *master, Double_t *local) const;
131 virtual void LocalToMaster(const Double_t *local, Double_t *master) const;
132 virtual void LocalToMasterVect(const Double_t *local, Double_t *master) const;
133
134 virtual void ls(Option_t *option = "") const;
135 virtual void Paint(Option_t *option = "");
136 void PrintCandidates() const; // *MENU*
137 void PrintOverlaps() const; // *MENU*
138 void VisibleDaughters(Bool_t vis=kTRUE); // *MENU*
139
140 ClassDef(TGeoNode, 2) // base class for all geometry nodes
141};
142
143////////////////////////////////////////////////////////////////////////////
144// //
145// TGeoNodeMatrix - node containing a general transformation //
146// //
147////////////////////////////////////////////////////////////////////////////
148
150{
151private:
152 TGeoMatrix *fMatrix = nullptr; // transf. matrix of fNode in fMother system
153
154protected:
155 TGeoNodeMatrix(const TGeoNodeMatrix& gnm);
157
158public:
159 // constructors
161 TGeoNodeMatrix(const TGeoVolume *vol, const TGeoMatrix *matrix);
162 // destructor
163 virtual ~TGeoNodeMatrix();
164
165 virtual Int_t GetByteCount() const;
166 virtual Int_t GetOptimalVoxels() const;
167 virtual Bool_t IsFolder() const {return kTRUE;}
168 virtual TGeoMatrix *GetMatrix() const {return fMatrix;}
169 virtual TGeoNode *MakeCopyNode() const;
170 void SetMatrix(const TGeoMatrix *matrix);
171
172 ClassDef(TGeoNodeMatrix, 1) // a geometry node in the general case
173};
174
175////////////////////////////////////////////////////////////////////////////
176// //
177// TGeoNodeOffset - node containing only an translation offset //
178// //
179////////////////////////////////////////////////////////////////////////////
180
182{
183private:
184 Double_t fOffset = 0.; // X offset for this node with respect to its mother
185 Int_t fIndex = 0; // index of this node in the division
186 TGeoPatternFinder *fFinder = nullptr; // finder for this node
187
188protected:
191
192public:
193 // constructors
195 TGeoNodeOffset(const TGeoVolume *vol, Int_t index, Double_t offset);
196 // destructor
197 virtual ~TGeoNodeOffset();
198
199 virtual void cd() const {fFinder->cd(fIndex);}
200 Double_t GetOffset() const {return fOffset;}
201 virtual Int_t GetIndex() const;
202 virtual TGeoPatternFinder *GetFinder() const {return fFinder;}
203 virtual TGeoMatrix *GetMatrix() const {cd(); return fFinder->GetMatrix();}
204 virtual TGeoNode *MakeCopyNode() const;
205 void SetFinder(TGeoPatternFinder *finder) {fFinder = finder;}
206
207 ClassDef(TGeoNodeOffset, 1) // a geometry node with just an offset
208};
209
210////////////////////////////////////////////////////////////////////////////
211// //
212// TGeoIteratorPlugin - Plugin for a TGeoIterator providing the method //
213// ProcessNode each time Next is called. //
214// //
215////////////////////////////////////////////////////////////////////////////
216
217class TGeoIterator;
218
220{
221protected:
222 const TGeoIterator *fIterator = nullptr; // Caller iterator
223private:
224 // No copy
227public:
230
231 virtual void ProcessNode() = 0;
232 void SetIterator(const TGeoIterator *iter) {fIterator = iter;}
233
234 ClassDef(TGeoIteratorPlugin, 0) // ABC for user plugins connecter to a geometry iterator.
235};
236
237////////////////////////////////////////////////////////////////////////////
238// //
239// TGeoIterator - iterator for the node tree //
240// //
241////////////////////////////////////////////////////////////////////////////
242
244{
245private:
246 TGeoVolume *fTop = nullptr; // Top volume of the iterated branch
247 Bool_t fMustResume = kFALSE; // Private flag to resume from current node.
248 Bool_t fMustStop = kFALSE; // Private flag to signal that the iterator has finished.
249 Int_t fLevel = 0; // Current level in the tree
250 Int_t fType = 0; // Type of iteration
251 Int_t *fArray = nullptr; // Array of node indices for the current path
252 TGeoHMatrix *fMatrix = nullptr; // Current global matrix
253 TString fTopName; // User name for top
255 *fPlugin = nullptr; // User iterator plugin
256 Bool_t fPluginAutoexec = kFALSE; // Plugin automatically executed during next()
257
258 void IncreaseArray();
259protected:
262
263public:
265 TGeoIterator(const TGeoIterator &iter);
266 virtual ~TGeoIterator();
267
268 TGeoIterator &operator=(const TGeoIterator &iter);
270 TGeoNode *Next();
271 void Up() { if (fLevel > 0) fLevel--; }
272
273 const TGeoMatrix *GetCurrentMatrix() const;
274 Int_t GetIndex(Int_t i) const {return ((i<=fLevel)?fArray[i]:-1);}
275 Int_t GetLevel() const {return fLevel;}
276 TGeoNode *GetNode(Int_t level) const;
277 void GetPath(TString &path) const;
279 *GetUserPlugin() const {return fPlugin;}
280
281 TGeoVolume *GetTopVolume() const {return fTop;}
282 Int_t GetType() const {return fType;}
283 void Reset(TGeoVolume *top=0);
284 void SetUserPlugin(TGeoIteratorPlugin *plugin);
287 void SetTopName(const char* name);
288 void Skip();
289
290 ClassDef(TGeoIterator,0) //Iterator for geometry.
291};
292
293#endif
#define b(i)
Definition: RSha256.hxx:100
int Int_t
Definition: RtypesCore.h:41
const Bool_t kFALSE
Definition: RtypesCore.h:88
bool Bool_t
Definition: RtypesCore.h:59
double Double_t
Definition: RtypesCore.h:55
const Bool_t kTRUE
Definition: RtypesCore.h:87
const char Option_t
Definition: RtypesCore.h:62
#define ClassDef(name, id)
Definition: Rtypes.h:324
#define BIT(n)
Definition: Rtypes.h:82
int type
Definition: TGX11.cxx:120
virtual Color_t GetLineColor() const
Return the line color.
Definition: TAttLine.h:33
Using a TBrowser one can browse all ROOT objects.
Definition: TBrowser.h:37
Visualization and tracking attributes for volumes and nodes.
Definition: TGeoAtt.h:18
Bool_t IsVisible() const
Definition: TGeoAtt.h:88
Bool_t IsVisDaughters() const
Definition: TGeoAtt.h:89
ABC for user objects attached to TGeoVolume or TGeoNode.
Definition: TGeoExtension.h:20
Matrix class used for computing global transformations Should NOT be used for node definition.
Definition: TGeoMatrix.h:421
TGeoIteratorPlugin & operator=(const TGeoIteratorPlugin &)
virtual ~TGeoIteratorPlugin()
Definition: TGeoNode.h:229
void SetIterator(const TGeoIterator *iter)
Definition: TGeoNode.h:232
TGeoIteratorPlugin(const TGeoIteratorPlugin &)
const TGeoIterator * fIterator
Definition: TGeoNode.h:222
virtual void ProcessNode()=0
A geometry iterator.
Definition: TGeoNode.h:244
Int_t GetType() const
Definition: TGeoNode.h:282
TGeoIterator & operator=(const TGeoIterator &iter)
Assignment.
Definition: TGeoNode.cxx:1047
TGeoIteratorPlugin * fPlugin
Definition: TGeoNode.h:255
virtual ~TGeoIterator()
Destructor.
Definition: TGeoNode.cxx:1038
const TGeoMatrix * GetCurrentMatrix() const
Returns global matrix for current node.
Definition: TGeoNode.cxx:1156
void SetType(Int_t type)
Definition: TGeoNode.h:286
Bool_t fMustStop
Definition: TGeoNode.h:248
void SetTopName(const char *name)
Set the top name for path.
Definition: TGeoNode.cxx:1222
Bool_t fMustResume
Definition: TGeoNode.h:247
Int_t fLevel
Definition: TGeoNode.h:249
Bool_t fPluginAutoexec
Definition: TGeoNode.h:256
Int_t fType
Definition: TGeoNode.h:250
void SetPluginAutoexec(Bool_t mode)
Definition: TGeoNode.h:285
void Reset(TGeoVolume *top=0)
Resets the iterator for volume TOP.
Definition: TGeoNode.cxx:1211
Int_t GetLevel() const
Definition: TGeoNode.h:275
void GetPath(TString &path) const
Returns the path for the current node.
Definition: TGeoNode.cxx:1183
void Up()
Definition: TGeoNode.h:271
void IncreaseArray()
Increase by 30 the size of the array.
Definition: TGeoNode.cxx:1200
TGeoNode * GetNode(Int_t level) const
Returns current node at a given level.
Definition: TGeoNode.cxx:1172
TGeoNode * operator()()
Returns next node.
Definition: TGeoNode.cxx:1148
TGeoHMatrix * fMatrix
Definition: TGeoNode.h:252
Int_t GetIndex(Int_t i) const
Definition: TGeoNode.h:274
TGeoVolume * fTop
Definition: TGeoNode.h:246
TGeoNode * Next()
Returns next node.
Definition: TGeoNode.cxx:1069
void SetUserPlugin(TGeoIteratorPlugin *plugin)
Set a plugin.
Definition: TGeoNode.cxx:1269
void Skip()
Stop iterating the current branch.
Definition: TGeoNode.cxx:1231
TGeoIteratorPlugin * GetUserPlugin() const
Definition: TGeoNode.h:279
Int_t * fArray
Definition: TGeoNode.h:251
TString fTopName
Definition: TGeoNode.h:253
TGeoVolume * GetTopVolume() const
Definition: TGeoNode.h:281
Geometrical transformation package.
Definition: TGeoMatrix.h:41
Media are used to store properties related to tracking and which are useful only when using geometry ...
Definition: TGeoMedium.h:24
A node containing local transformation.
Definition: TGeoNode.h:150
virtual Int_t GetOptimalVoxels() const
Returns type of optimal voxelization for this node.
Definition: TGeoNode.cxx:771
void SetMatrix(const TGeoMatrix *matrix)
Matrix setter.
Definition: TGeoNode.cxx:816
virtual ~TGeoNodeMatrix()
Destructor.
Definition: TGeoNode.cxx:752
TGeoNodeMatrix & operator=(const TGeoNodeMatrix &gnm)
Assignment.
Definition: TGeoNode.cxx:740
virtual Bool_t IsFolder() const
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
Definition: TGeoNode.h:167
virtual Int_t GetByteCount() const
return the total size in bytes of this node
Definition: TGeoNode.cxx:759
TGeoNodeMatrix()
Default constructor.
Definition: TGeoNode.cxx:713
TGeoMatrix * fMatrix
Definition: TGeoNode.h:152
virtual TGeoNode * MakeCopyNode() const
Make a copy of this node.
Definition: TGeoNode.cxx:785
virtual TGeoMatrix * GetMatrix() const
Definition: TGeoNode.h:168
Node containing an offset.
Definition: TGeoNode.h:182
Double_t fOffset
Definition: TGeoNode.h:184
void SetFinder(TGeoPatternFinder *finder)
Definition: TGeoNode.h:205
TGeoPatternFinder * fFinder
Definition: TGeoNode.h:186
virtual TGeoNode * MakeCopyNode() const
Make a copy of this node.
Definition: TGeoNode.cxx:895
virtual TGeoMatrix * GetMatrix() const
Definition: TGeoNode.h:203
Int_t fIndex
Definition: TGeoNode.h:185
virtual ~TGeoNodeOffset()
Destructor.
Definition: TGeoNode.cxx:880
TGeoNodeOffset()
Default constructor.
Definition: TGeoNode.cxx:832
virtual TGeoPatternFinder * GetFinder() const
Definition: TGeoNode.h:202
TGeoNodeOffset & operator=(const TGeoNodeOffset &)
Assignment operator.
Definition: TGeoNode.cxx:866
Double_t GetOffset() const
Definition: TGeoNode.h:200
virtual void cd() const
Definition: TGeoNode.h:199
virtual Int_t GetIndex() const
Get the index of this offset.
Definition: TGeoNode.cxx:887
A node represent a volume positioned inside another.They store links to both volumes and to the TGeoM...
Definition: TGeoNode.h:41
TGeoMedium * GetMedium() const
Definition: TGeoNode.h:88
Bool_t IsOverlapping() const
Definition: TGeoNode.h:102
void SetFWExtension(TGeoExtension *ext)
Connect framework defined extension to the node.
Definition: TGeoNode.cxx:511
Bool_t IsVisDaughters() const
Definition: TGeoNode.h:105
Bool_t IsOnScreen() const
check if this node is drawn. Assumes that this node is current
Definition: TGeoNode.cxx:308
TGeoVolume * GetVolume() const
Definition: TGeoNode.h:94
void SaveAttributes(std::ostream &out)
save attributes for this node
Definition: TGeoNode.cxx:439
void SetVolume(TGeoVolume *volume)
Definition: TGeoNode.h:112
TGeoVolume * fVolume
Definition: TGeoNode.h:43
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
Execute mouse actions on this volume.
Definition: TGeoNode.cxx:286
virtual void Paint(Option_t *option="")
Paint this node and its content according to visualization settings.
Definition: TGeoNode.cxx:592
void SetAllInvisible()
Definition: TGeoNode.h:119
void Draw(Option_t *option="")
draw current node according to option
Definition: TGeoNode.cxx:357
Bool_t IsOffset() const
Definition: TGeoNode.h:100
void CheckShapes()
check for wrong parameters in shapes
Definition: TGeoNode.cxx:338
virtual Bool_t IsFolder() const
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
Definition: TGeoNode.h:99
void PrintOverlaps() const
print possible overlapping nodes
Definition: TGeoNode.cxx:651
TGeoExtension * fFWExtension
Transient user-defined extension to volumes.
Definition: TGeoNode.h:49
TGeoExtension * GetUserExtension() const
Definition: TGeoNode.h:124
TGeoNode()
Default constructor.
Definition: TGeoNode.cxx:95
@ kGeoNodeCloned
Definition: TGeoNode.h:60
@ kGeoNodeOverlap
Definition: TGeoNode.h:59
@ kGeoNodeMatrix
Definition: TGeoNode.h:56
@ kGeoNodeOffset
Definition: TGeoNode.h:57
@ kGeoNodeVC
Definition: TGeoNode.h:58
TGeoExtension * fUserExtension
Definition: TGeoNode.h:48
virtual Int_t GetByteCount() const
Definition: TGeoNode.h:81
Int_t * fOverlaps
Definition: TGeoNode.h:47
Int_t fNovlp
Definition: TGeoNode.h:46
void SetOverlapping(Bool_t flag=kTRUE)
Definition: TGeoNode.h:115
TGeoExtension * GrabFWExtension() const
Get a copy of the framework extension pointer.
Definition: TGeoNode.cxx:534
void SetOverlaps(Int_t *ovlp, Int_t novlp)
set the list of overlaps for this node (ovlp must be created with operator new)
Definition: TGeoNode.cxx:675
void PrintCandidates() const
print daughters candidates for containing current point
Definition: TGeoNode.cxx:602
void SetInvisible()
Definition: TGeoNode.h:118
Int_t GetNdaughters() const
Definition: TGeoNode.h:90
TGeoNode * GetDaughter(Int_t ind) const
Definition: TGeoNode.h:82
void SetCurrentPoint(Double_t x, Double_t y, Double_t z)
Definition: TGeoNode.h:111
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
compute the closest distance of approach from point px,py to this node
Definition: TGeoNode.cxx:272
virtual Int_t GetOptimalVoxels() const
Definition: TGeoNode.h:96
virtual TGeoMatrix * GetMatrix() const =0
Bool_t IsCloned() const
Definition: TGeoNode.h:98
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 I...
Definition: TGeoNode.cxx:543
Bool_t IsVisible() const
Definition: TGeoNode.h:104
void SetMotherVolume(TGeoVolume *mother)
Definition: TGeoNode.h:120
virtual void cd() const
Definition: TGeoNode.h:70
void SetUserExtension(TGeoExtension *ext)
Connect user-defined extension to the node.
Definition: TGeoNode.cxx:496
virtual void LocalToMasterVect(const Double_t *local, Double_t *master) const
Convert a vector from local reference system to mother reference.
Definition: TGeoNode.cxx:577
Int_t GetColour() const
Definition: TGeoNode.h:85
void DrawOverlaps()
Method drawing the overlap candidates with this node.
Definition: TGeoNode.cxx:370
virtual void LocalToMaster(const Double_t *local, Double_t *master) const
Convert the point coordinates from local reference system to mother reference.
Definition: TGeoNode.cxx:569
Int_t CountDaughters(Bool_t unique_volumes=kFALSE)
Returns the number of daughters.
Definition: TGeoNode.cxx:190
virtual TGeoNode * MakeCopyNode() const
Definition: TGeoNode.h:108
void DrawOnly(Option_t *option="")
draw only this node independently of its vis options
Definition: TGeoNode.cxx:349
TGeoVolume * GetMotherVolume() const
Definition: TGeoNode.h:89
void SetVisibility(Bool_t vis=kTRUE)
Set visibility of the node (obsolete).
Definition: TGeoNode.cxx:685
Int_t * GetOverlaps(Int_t &novlp) const
Definition: TGeoNode.h:93
void SetVirtual()
Definition: TGeoNode.h:116
Int_t GetNumber() const
Definition: TGeoNode.h:92
void SetNumber(Int_t number)
Definition: TGeoNode.h:113
virtual void MasterToLocal(const Double_t *master, Double_t *local) const
Convert the point coordinates from mother reference to local reference system.
Definition: TGeoNode.cxx:553
virtual Int_t GetIndex() const
Definition: TGeoNode.h:86
TGeoExtension * GrabUserExtension() const
Get a copy of the user extension pointer.
Definition: TGeoNode.cxx:523
Int_t FindNode(const TGeoNode *node, Int_t level)
Search for a node within the branch of this one.
Definition: TGeoNode.cxx:412
void VisibleDaughters(Bool_t vis=kTRUE)
Set visibility of the daughters (obsolete).
Definition: TGeoNode.cxx:696
void FillIdArray(Int_t &ifree, Int_t &nodeid, Int_t *array) const
Fill array with node id. Recursive on node branch.
Definition: TGeoNode.cxx:393
TGeoNode & operator=(const TGeoNode &)
assignment operator
Definition: TGeoNode.cxx:145
virtual char * GetObjectInfo(Int_t px, Int_t py) const
Get node info for the browser.
Definition: TGeoNode.cxx:297
virtual ~TGeoNode()
Destructor.
Definition: TGeoNode.cxx:164
TGeoExtension * GetFWExtension() const
Definition: TGeoNode.h:125
Int_t fNumber
Definition: TGeoNode.h:45
virtual TGeoPatternFinder * GetFinder() const
Definition: TGeoNode.h:87
virtual void MasterToLocalVect(const Double_t *master, Double_t *local) const
Convert a vector from mother reference to local reference system.
Definition: TGeoNode.cxx:561
virtual void ls(Option_t *option="") const
Print the path (A/B/C/...) to this node on stdout.
Definition: TGeoNode.cxx:585
Bool_t IsVirtual() const
Definition: TGeoNode.h:103
void SetCloned(Bool_t flag=kTRUE)
Definition: TGeoNode.h:114
TObjArray * GetNodes() const
Definition: TGeoNode.h:91
void CheckOverlaps(Double_t ovlp=0.1, Option_t *option="")
Check overlaps bigger than OVLP hierarchically, starting with this node.
Definition: TGeoNode.cxx:214
void Browse(TBrowser *b)
How-to-browse for a node.
Definition: TGeoNode.cxx:174
void InspectNode() const
Inspect this node.
Definition: TGeoNode.cxx:317
Double_t Safety(const Double_t *point, Bool_t in=kTRUE) const
computes the closest distance from given point to this shape
Definition: TGeoNode.cxx:665
TGeoVolume * fMother
Definition: TGeoNode.h:44
Base finder class for patterns.
virtual void cd(Int_t)
virtual TGeoMatrix * GetMatrix()
Return current matrix.
Base abstract class for all shapes.
Definition: TGeoShape.h:26
TGeoVolume, TGeoVolumeMulti, TGeoVolumeAssembly are the volume classes.
Definition: TGeoVolume.h:53
TGeoMedium * GetMedium() const
Definition: TGeoVolume.h:176
void SetCurrentPoint(Double_t x, Double_t y, Double_t z)
Set the current tracking point.
Int_t GetNdaughters() const
Definition: TGeoVolume.h:350
TObjArray * GetNodes()
Definition: TGeoVolume.h:170
TGeoNode * GetNode(const char *name) const
get the pointer to a daughter node
virtual Bool_t IsVisible() const
Definition: TGeoVolume.h:156
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29
An array of TObjects.
Definition: TObjArray.h:37
Mother of all ROOT objects.
Definition: TObject.h:37
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
Definition: TObject.h:172
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
Definition: TObject.cxx:694
Basic string class.
Definition: TString.h:131
Double_t y[n]
Definition: legend1.C:17
Double_t x[n]
Definition: legend1.C:17