ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 #ifndef ROOT_Riosfwd
16 #include "Riosfwd.h"
17 #endif
18 
19 #ifndef ROOT_TGeoAtt
20 #include "TGeoAtt.h"
21 #endif
22 
23 #ifndef ROOT_TNamed
24 #include "TNamed.h"
25 #endif
26 
27 #ifndef ROOT_TGeoVolume
28 #include "TGeoVolume.h"
29 #endif
30 
31 #ifndef ROOT_TGeoPatternFinder
32 #include "TGeoPatternFinder.h"
33 #endif
34 
35 // forward declarations
36 class TString;
37 class TGeoVolume;
38 class TGeoShape;
39 class TGeoMedium;
40 class TGeoMatrix;
41 class TGeoHMatrix;
42 class TGeoExtension;
43 
44 ////////////////////////////////////////////////////////////////////////////
45 // //
46 // TGeoNode - base class for logical nodes. They represent volumes //
47 // positioned inside a mother volume //
48 // //
49 ////////////////////////////////////////////////////////////////////////////
50 
51 class TGeoNode : public TNamed,
52  public TGeoAtt
53 {
54 protected:
55  TGeoVolume *fVolume; // volume associated with this
56  TGeoVolume *fMother; // mother volume
57  Int_t fNumber; // copy number
58  Int_t fNovlp; // number of overlaps
59  Int_t *fOverlaps; //[fNovlp] list of indices for overlapping brothers
60  TGeoExtension *fUserExtension; //! Transient user-defined extension to volumes
61  TGeoExtension *fFWExtension; //! Transient framework-defined extension to volumes
62 
63  TGeoNode(const TGeoNode&);
64  TGeoNode& operator=(const TGeoNode&);
65 
66 public:
67  enum {
70  kGeoNodeVC = BIT(16),
73  };
74 
75  // constructors
76  TGeoNode();
77  TGeoNode(const TGeoVolume *vol);
78  // destructor
79  virtual ~TGeoNode();
80 
81  void Browse(TBrowser *b);
82  virtual void cd() const {;}
83  void CheckOverlaps(Double_t ovlp=0.1, Option_t *option=""); // *MENU*
84  void CheckShapes();
85  Int_t CountDaughters(Bool_t unique_volumes=kFALSE);
87  void Draw(Option_t *option="");
88  void DrawOnly(Option_t *option="");
89  void DrawOverlaps();
90  virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
91  void FillIdArray(Int_t &ifree, Int_t &nodeid, Int_t *array) const;
92  Int_t FindNode(const TGeoNode *node, Int_t level);
93  virtual Int_t GetByteCount() const {return 44;}
94  TGeoNode *GetDaughter(Int_t ind) const {return fVolume->GetNode(ind);}
95  virtual TGeoMatrix *GetMatrix() const = 0;
96 
97  Int_t GetColour() const {return fVolume->GetLineColor();}
98  virtual Int_t GetIndex() const {return 0;}
99  virtual TGeoPatternFinder *GetFinder() const {return 0;}
100  TGeoMedium *GetMedium() const {return fVolume->GetMedium();}
101  TGeoVolume *GetMotherVolume() const {return fMother;}
103  TObjArray *GetNodes() const {return fVolume->GetNodes();}
104  Int_t GetNumber() const {return fNumber;}
105  Int_t *GetOverlaps(Int_t &novlp) const {novlp=fNovlp; return fOverlaps;}
106  TGeoVolume *GetVolume() const {return fVolume;}
107  virtual char *GetObjectInfo(Int_t px, Int_t py) const;
108  virtual Int_t GetOptimalVoxels() const {return 0;}
109  void InspectNode() const; // *MENU*
111  virtual Bool_t IsFolder() const {return (GetNdaughters()?kTRUE:kFALSE);}
113  Bool_t IsOnScreen() const; // *MENU*
118  Bool_t MayOverlap(Int_t iother) const;
119 
120  virtual TGeoNode *MakeCopyNode() const {return 0;}
121  Double_t Safety(const Double_t *point, Bool_t in=kTRUE) const;
122  void SaveAttributes(std::ostream &out);
124  void SetVolume(TGeoVolume *volume) {fVolume = volume;}
125  void SetNumber(Int_t number) {fNumber=number;}
129  void SetVisibility(Bool_t vis=kTRUE); // *MENU*
130  void SetInvisible() {SetVisibility(kFALSE);} // *MENU*
132  void SetMotherVolume(TGeoVolume *mother) {fMother = mother;}
133  void SetOverlaps(Int_t *ovlp, Int_t novlp);
134  void SetUserExtension(TGeoExtension *ext);
135  void SetFWExtension(TGeoExtension *ext);
140 
141  virtual void MasterToLocal(const Double_t *master, Double_t *local) const;
142  virtual void MasterToLocalVect(const Double_t *master, Double_t *local) const;
143  virtual void LocalToMaster(const Double_t *local, Double_t *master) const;
144  virtual void LocalToMasterVect(const Double_t *local, Double_t *master) const;
145 
146  virtual void ls(Option_t *option = "") const;
147  virtual void Paint(Option_t *option = "");
148  void PrintCandidates() const; // *MENU*
149  void PrintOverlaps() const; // *MENU*
150  void VisibleDaughters(Bool_t vis=kTRUE); // *MENU*
151 
152  ClassDef(TGeoNode, 2) // base class for all geometry nodes
153 };
154 
155 ////////////////////////////////////////////////////////////////////////////
156 // //
157 // TGeoNodeMatrix - node containing a general transformation //
158 // //
159 ////////////////////////////////////////////////////////////////////////////
160 
161 class TGeoNodeMatrix : public TGeoNode
162 {
163 private:
164  TGeoMatrix *fMatrix; // transf. matrix of fNode in fMother system
165 
166 protected:
167  TGeoNodeMatrix(const TGeoNodeMatrix& gnm);
169 
170 public:
171  // constructors
172  TGeoNodeMatrix();
173  TGeoNodeMatrix(const TGeoVolume *vol, const TGeoMatrix *matrix);
174  // destructor
175  virtual ~TGeoNodeMatrix();
176 
177  virtual Int_t GetByteCount() const;
178  virtual Int_t GetOptimalVoxels() const;
179  virtual Bool_t IsFolder() const {return kTRUE;}
180  virtual TGeoMatrix *GetMatrix() const {return fMatrix;}
181  virtual TGeoNode *MakeCopyNode() const;
182  void SetMatrix(const TGeoMatrix *matrix);
183 
184  ClassDef(TGeoNodeMatrix, 1) // a geometry node in the general case
185 };
186 
187 ////////////////////////////////////////////////////////////////////////////
188 // //
189 // TGeoNodeOffset - node containing only an translation offset //
190 // //
191 ////////////////////////////////////////////////////////////////////////////
192 
193 class TGeoNodeOffset : public TGeoNode
194 {
195 private:
196  Double_t fOffset; // X offset for this node with respect to its mother
197  Int_t fIndex; // index of this node in the division
198  TGeoPatternFinder *fFinder; // finder for this node
199 
200 protected:
203 
204 public:
205  // constructors
206  TGeoNodeOffset();
207  TGeoNodeOffset(const TGeoVolume *vol, Int_t index, Double_t offset);
208  // destructor
209  virtual ~TGeoNodeOffset();
210 
211  virtual void cd() const {fFinder->cd(fIndex);}
212  Double_t GetOffset() const {return fOffset;}
213  virtual Int_t GetIndex() const;
214  virtual TGeoPatternFinder *GetFinder() const {return fFinder;}
215  virtual TGeoMatrix *GetMatrix() const {cd(); return fFinder->GetMatrix();}
216  virtual TGeoNode *MakeCopyNode() const;
217  void SetFinder(TGeoPatternFinder *finder) {fFinder = finder;}
218 
219  ClassDef(TGeoNodeOffset, 1) // a geometry node with just an offset
220 };
221 
222 ////////////////////////////////////////////////////////////////////////////
223 // //
224 // TGeoIteratorPlugin - Plugin for a TGeoIterator providing the method //
225 // ProcessNode each time Next is called. //
226 // //
227 ////////////////////////////////////////////////////////////////////////////
228 
229 class TGeoIterator;
230 
232 {
233 protected:
234  const TGeoIterator *fIterator; // Caller iterator
235 private:
236  // No copy
239 public:
241  virtual ~TGeoIteratorPlugin() {}
242 
243  virtual void ProcessNode() = 0;
245 
246  ClassDef(TGeoIteratorPlugin, 0) // ABC for user plugins connecter to a geometry iterator.
247 };
248 
249 ////////////////////////////////////////////////////////////////////////////
250 // //
251 // TGeoIterator - iterator for the node tree //
252 // //
253 ////////////////////////////////////////////////////////////////////////////
254 
256 {
257 private:
258  TGeoVolume *fTop; // Top volume of the iterated branch
259  Bool_t fMustResume; // Private flag to resume from current node.
260  Bool_t fMustStop; // Private flag to signal that the iterator has finished.
261  Int_t fLevel; // Current level in the tree
262  Int_t fType; // Type of iteration
263  Int_t *fArray; // Array of node indices for the current path
264  TGeoHMatrix *fMatrix; // Current global matrix
265  TString fTopName; // User name for top
267  *fPlugin; // User iterator plugin
268  Bool_t fPluginAutoexec; // Plugin automatically executed during next()
269 
270  void IncreaseArray();
271 protected:
274 
275 public:
276  TGeoIterator(TGeoVolume *top);
278  virtual ~TGeoIterator();
279 
281  TGeoNode *operator()();
282  TGeoNode *Next();
283 
284  const TGeoMatrix *GetCurrentMatrix() const;
285  Int_t GetIndex(Int_t i) const {return ((i<=fLevel)?fArray[i]:-1);}
286  Int_t GetLevel() const {return fLevel;}
287  TGeoNode *GetNode(Int_t level) const;
288  void GetPath(TString &path) const;
290  *GetUserPlugin() const {return fPlugin;}
291 
292  TGeoVolume *GetTopVolume() const {return fTop;}
293  Int_t GetType() const {return fType;}
294  void Reset(TGeoVolume *top=0);
298  void SetTopName(const char* name);
299  void Skip();
300 
301  ClassDef(TGeoIterator,0) //Iterator for geometry.
302 };
303 
304 #endif
virtual Int_t GetIndex() const
Get the index of this offset.
Definition: TGeoNode.cxx:896
Bool_t IsVisible() const
Definition: TGeoAtt.h:96
virtual TGeoPatternFinder * GetFinder() const
Definition: TGeoNode.h:99
TGeoVolume * fMother
Definition: TGeoNode.h:56
TGeoPatternFinder * fFinder
Definition: TGeoNode.h:198
Int_t fNovlp
Definition: TGeoNode.h:58
Int_t * fArray
Definition: TGeoNode.h:263
An array of TObjects.
Definition: TObjArray.h:39
void DrawOnly(Option_t *option="")
draw only this node independently of its vis options
Definition: TGeoNode.cxx:346
Int_t fNumber
Definition: TGeoNode.h:57
TGeoVolume * GetVolume() const
Definition: TGeoNode.h:106
void SetUserPlugin(TGeoIteratorPlugin *plugin)
Set a plugin.
Definition: TGeoNode.cxx:1262
virtual TGeoPatternFinder * GetFinder() const
Definition: TGeoNode.h:214
virtual ~TGeoIteratorPlugin()
Definition: TGeoNode.h:241
void SetVirtual()
Definition: TGeoNode.h:128
const char Option_t
Definition: RtypesCore.h:62
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:666
tuple offset
Definition: tree.py:93
virtual char * GetObjectInfo(Int_t px, Int_t py) const
Get node info for the browser.
Definition: TGeoNode.cxx:294
virtual void cd() const
Definition: TGeoNode.h:82
virtual void ProcessNode()=0
virtual ~TGeoIterator()
Destructor.
Definition: TGeoNode.cxx:1031
#define BIT(n)
Definition: Rtypes.h:120
virtual TGeoMatrix * GetMatrix() const
Definition: TGeoNode.h:215
TGeoNode * GetNode(Int_t level) const
Returns current node at a given level.
Definition: TGeoNode.cxx:1165
void SetCurrentPoint(Double_t x, Double_t y, Double_t z)
Definition: TGeoNode.h:123
TGeoExtension * GrabFWExtension() const
Get a copy of the framework extension pointer.
Definition: TGeoNode.cxx:533
void Skip()
Stop iterating the current branch.
Definition: TGeoNode.cxx:1224
Int_t FindNode(const TGeoNode *node, Int_t level)
Search for a node within the branch of this one.
Definition: TGeoNode.cxx:409
virtual Int_t GetOptimalVoxels() const
Definition: TGeoNode.h:108
TGeoNode * Next()
Returns next node.
Definition: TGeoNode.cxx:1062
Bool_t IsVirtual() const
Definition: TGeoNode.h:115
TGeoNode * operator()()
Returns next node.
Definition: TGeoNode.cxx:1141
Int_t GetColour() const
Definition: TGeoNode.h:97
TGeoMatrix * fMatrix
Definition: TGeoNode.h:164
Basic string class.
Definition: TString.h:137
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
Double_t fOffset
Definition: TGeoNode.h:196
const Bool_t kFALSE
Definition: Rtypes.h:92
Bool_t IsVisDaughters() const
Definition: TGeoNode.h:117
virtual TGeoNode * MakeCopyNode() const
Definition: TGeoNode.h:120
Bool_t IsCloned() const
Definition: TGeoNode.h:110
virtual void Paint(Option_t *option="")
Paint this node and its content according to visualization settings.
Definition: TGeoNode.cxx:591
void Reset(TGeoVolume *top=0)
Resets the iterator for volume TOP.
Definition: TGeoNode.cxx:1204
Float_t py
Definition: hprod.C:33
TGeoExtension * GetUserExtension() const
Definition: TGeoNode.h:136
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:568
void IncreaseArray()
Increase by 30 the size of the array.
Definition: TGeoNode.cxx:1193
Int_t GetIndex(Int_t i) const
Definition: TGeoNode.h:285
void VisibleDaughters(Bool_t vis=kTRUE)
Set visibility of the daughters (obsolete).
Definition: TGeoNode.cxx:697
Int_t GetNdaughters() const
Definition: TGeoVolume.h:362
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
Definition: TObject.cxx:732
virtual void ls(Option_t *option="") const
Print the path (A/B/C/...) to this node on stdout.
Definition: TGeoNode.cxx:584
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
Execute mouse actions on this volume.
Definition: TGeoNode.cxx:283
TObjArray * GetNodes()
Definition: TGeoVolume.h:183
void InspectNode() const
Inspect this node.
Definition: TGeoNode.cxx:314
TObjArray * GetNodes() const
Definition: TGeoNode.h:103
void SetUserExtension(TGeoExtension *ext)
Connect user-defined extension to the node.
Definition: TGeoNode.cxx:494
TGeoExtension * fUserExtension
Definition: TGeoNode.h:60
virtual Int_t GetByteCount() const
return the total size in bytes of this node
Definition: TGeoNode.cxx:768
Double_t x[n]
Definition: legend1.C:17
virtual Bool_t IsFolder() const
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects)...
Definition: TGeoNode.h:179
Bool_t IsOffset() const
Definition: TGeoNode.h:112
#define ClassDef(name, id)
Definition: Rtypes.h:254
TString fTopName
Definition: TGeoNode.h:265
Bool_t IsOverlapping() const
Definition: TGeoNode.h:114
Double_t GetOffset() const
Definition: TGeoNode.h:212
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:33
Bool_t IsVisDaughters() const
Definition: TGeoAtt.h:97
TGeoVolume * GetTopVolume() const
Definition: TGeoNode.h:292
std::map< std::string, std::string >::const_iterator iter
Definition: TAlienJob.cxx:54
void SetFWExtension(TGeoExtension *ext)
Connect framework defined extension to the node.
Definition: TGeoNode.cxx:510
void GetPath(TString &path) const
Returns the path for the current node.
Definition: TGeoNode.cxx:1176
void SetTopName(const char *name)
Set the top name for path.
Definition: TGeoNode.cxx:1215
virtual TGeoMatrix * GetMatrix() const =0
virtual ~TGeoNodeOffset()
Destructor.
Definition: TGeoNode.cxx:889
TGeoNode * GetDaughter(Int_t ind) const
Definition: TGeoNode.h:94
TGeoIteratorPlugin * fPlugin
Definition: TGeoNode.h:267
Float_t z[5]
Definition: Ifit.C:16
Int_t GetNumber() const
Definition: TGeoNode.h:104
TGeoHMatrix * fMatrix
Definition: TGeoNode.h:264
char * out
Definition: TBase64.cxx:29
void Browse(TBrowser *b)
How-to-browse for a node.
Definition: TGeoNode.cxx:171
void PrintOverlaps() const
print possible overlapping nodes if (!IsOverlapping()) {printf("node %s is ONLY\n", GetName()); return;}
Definition: TGeoNode.cxx:652
Bool_t IsOnScreen() const
check if this node is drawn. Assumes that this node is current
Definition: TGeoNode.cxx:305
Bool_t fPluginAutoexec
Definition: TGeoNode.h:268
const TGeoMatrix * GetCurrentMatrix() const
Returns global matrix for current node.
Definition: TGeoNode.cxx:1149
Using a TBrowser one can browse all ROOT objects.
Definition: TBrowser.h:41
void DrawOverlaps()
Method drawing the overlap candidates with this node.
Definition: TGeoNode.cxx:367
iterplugin * plugin
Definition: runplugin.C:3
virtual TGeoNode * MakeCopyNode() const
Make a copy of this node.
Definition: TGeoNode.cxx:794
void SetType(Int_t type)
Definition: TGeoNode.h:297
Int_t GetLevel() const
Definition: TGeoNode.h:286
void CheckOverlaps(Double_t ovlp=0.1, Option_t *option="")
Check overlaps bigger than OVLP hierarchically, starting with this node.
Definition: TGeoNode.cxx:211
void SetMotherVolume(TGeoVolume *mother)
Definition: TGeoNode.h:132
TGeoIteratorPlugin & operator=(const TGeoIteratorPlugin &)
TGeoVolume * fVolume
Definition: TGeoNode.h:55
Bool_t fMustResume
Definition: TGeoNode.h:259
TGeoExtension * GetFWExtension() const
Definition: TGeoNode.h:137
void SaveAttributes(std::ostream &out)
save attributes for this node
Definition: TGeoNode.cxx:436
void SetInvisible()
Definition: TGeoNode.h:130
void Draw(Option_t *option="")
draw current node according to option
Definition: TGeoNode.cxx:354
TGeoExtension * fFWExtension
Transient user-defined extension to volumes.
Definition: TGeoNode.h:61
virtual void LocalToMasterVect(const Double_t *local, Double_t *master) const
Convert a vector from local reference system to mother reference.
Definition: TGeoNode.cxx:576
virtual Int_t GetByteCount() const
Definition: TGeoNode.h:93
void SetMatrix(const TGeoMatrix *matrix)
Matrix setter.
Definition: TGeoNode.cxx:825
Int_t fLevel
Definition: TGeoNode.h:261
Int_t fType
Definition: TGeoNode.h:262
Bool_t TestBit(UInt_t f) const
Definition: TObject.h:173
virtual TGeoNode * MakeCopyNode() const
make a copy of this node
Definition: TGeoNode.cxx:904
void SetIterator(const TGeoIterator *iter)
Definition: TGeoNode.h:244
virtual Color_t GetLineColor() const
Definition: TAttLine.h:47
TGeoNode * GetNode(const char *name) const
get the pointer to a daughter node
Int_t CountDaughters(Bool_t unique_volumes=kFALSE)
Returns the number of daughters.
Definition: TGeoNode.cxx:187
const TGeoIterator * fIterator
Definition: TGeoNode.h:234
virtual TGeoMatrix * GetMatrix() const
Definition: TGeoNode.h:180
void SetFinder(TGeoPatternFinder *finder)
Definition: TGeoNode.h:217
void SetCloned(Bool_t flag=kTRUE)
Definition: TGeoNode.h:126
void SetOverlapping(Bool_t flag=kTRUE)
Definition: TGeoNode.h:127
void SetPluginAutoexec(Bool_t mode)
Definition: TGeoNode.h:296
double Double_t
Definition: RtypesCore.h:55
void PrintCandidates() const
print daughters candidates for containing current point cd();
Definition: TGeoNode.cxx:602
virtual TGeoMatrix * GetMatrix()
Return current matrix.
int type
Definition: TGX11.cxx:120
TGeoNodeMatrix & operator=(const TGeoNodeMatrix &gnm)
Assignment.
Definition: TGeoNode.cxx:749
Int_t * fOverlaps
Definition: TGeoNode.h:59
Double_t y[n]
Definition: legend1.C:17
virtual Int_t GetIndex() const
Definition: TGeoNode.h:98
void SetAllInvisible()
Definition: TGeoNode.h:131
void SetVolume(TGeoVolume *volume)
Definition: TGeoNode.h:124
#define name(a, b)
Definition: linkTestLib0.cpp:5
TGeoNode & operator=(const TGeoNode &)
assignment operator
Definition: TGeoNode.cxx:142
Mother of all ROOT objects.
Definition: TObject.h:58
virtual ~TGeoNode()
Destructor.
Definition: TGeoNode.cxx:161
Int_t GetType() const
Definition: TGeoNode.h:293
Float_t px
Definition: hprod.C:33
TGeoExtension * GrabUserExtension() const
Get a copy of the user extension pointer.
Definition: TGeoNode.cxx:522
void CheckShapes()
check for wrong parameters in shapes
Definition: TGeoNode.cxx:335
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:269
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:552
TGeoMedium * GetMedium() const
Definition: TGeoVolume.h:189
virtual Bool_t IsVisible() const
Definition: TGeoVolume.h:169
void SetCurrentPoint(Double_t x, Double_t y, Double_t z)
Set the current tracking point.
TGeoVolume * GetMotherVolume() const
Definition: TGeoNode.h:101
TGeoMedium * GetMedium() const
Definition: TGeoNode.h:100
virtual Int_t GetOptimalVoxels() const
— Returns type of optimal voxelization for this node.
Definition: TGeoNode.cxx:780
virtual void cd() const
Definition: TGeoNode.h:211
virtual void cd(Int_t)
Int_t fIndex
Definition: TGeoNode.h:197
virtual ~TGeoNodeMatrix()
Destructor.
Definition: TGeoNode.cxx:761
void SetVisibility(Bool_t vis=kTRUE)
Set visibility of the node (obsolete).
Definition: TGeoNode.cxx:686
TGeoVolume * fTop
Definition: TGeoNode.h:258
TGeoIteratorPlugin * GetUserPlugin() const
Definition: TGeoNode.h:290
Int_t * GetOverlaps(Int_t &novlp) const
Definition: TGeoNode.h:105
Bool_t IsVisible() const
Definition: TGeoNode.h:116
const Bool_t kTRUE
Definition: Rtypes.h:91
virtual Bool_t IsFolder() const
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects)...
Definition: TGeoNode.h:111
TGeoNodeOffset & operator=(const TGeoNodeOffset &)
assignment operator
Definition: TGeoNode.cxx:875
void FillIdArray(Int_t &ifree, Int_t &nodeid, Int_t *array) const
Fill array with node id. Recursive on node branch.
Definition: TGeoNode.cxx:390
TGeoIterator & operator=(const TGeoIterator &iter)
Assignment.
Definition: TGeoNode.cxx:1040
Bool_t fMustStop
Definition: TGeoNode.h:260
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:676
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:542
void SetNumber(Int_t number)
Definition: TGeoNode.h:125
Int_t GetNdaughters() const
Definition: TGeoNode.h:102
virtual void MasterToLocalVect(const Double_t *master, Double_t *local) const
Convert a vector from mother reference to local reference system.
Definition: TGeoNode.cxx:560