Logo ROOT  
Reference Guide
TGeoManager.h
Go to the documentation of this file.
1 // @(#)root/geom:$Id$
2 // Author: Andrei Gheata 25/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_TGeoManager
13 #define ROOT_TGeoManager
14 
15 #include <mutex>
16 #include <thread>
17 #include <map>
18 
19 #include "TNamed.h"
20 #include "TObjArray.h"
21 #include "TGeoNavigator.h"
22 
23 // forward declarations
24 class TVirtualGeoTrack;
25 class TGeoNode;
26 class TGeoPhysicalNode;
27 class TGeoPNEntry;
28 class TGeoVolume;
29 class TGeoVolumeMulti;
30 class TGeoMatrix;
31 class TGeoHMatrix;
32 class TGeoMaterial;
33 class TGeoMedium;
34 class TGeoShape;
35 class TVirtualGeoPainter;
36 class THashList;
37 class TGeoParallelWorld;
38 class TGeoRegion;
39 class TGDMLMatrix;
40 class TGeoOpticalSurface;
41 class TGeoSkinSurface;
42 class TGeoBorderSurface;
43 
44 class TGeoManager : public TNamed
45 {
46 public:
48  kG4Units = 0,
49  kRootUnits = 1
50  };
51 
52 protected:
53  static std::mutex fgMutex; //! mutex for navigator booking in MT mode
54  static Bool_t fgLock; //! Lock preventing a second geometry to be loaded
55  static Int_t fgVerboseLevel; //! Verbosity level for Info messages (no IO).
56  static Int_t fgMaxLevel; //! Maximum level in geometry
57  static Int_t fgMaxDaughters; //! Maximum number of daughters
58  static Int_t fgMaxXtruVert; //! Maximum number of Xtru vertices
59  static UInt_t fgExportPrecision; //! Precision to be used in ASCII exports
60  static EDefaultUnits fgDefaultUnits; //! Default units in GDML if not explicit in some tags
61 
62  TGeoManager(const TGeoManager&) = delete;
63  TGeoManager& operator=(const TGeoManager&) = delete;
64 
65 private :
66  Double_t fPhimin; //! lowest range for phi cut
67  Double_t fPhimax; //! highest range for phi cut
68  Double_t fTmin; //! lower time limit for tracks drawing
69  Double_t fTmax; //! upper time limit for tracks drawing
70  Int_t fNNodes; // total number of physical nodes
71  TString fPath; //! path to current node
72  TString fParticleName; //! particles to be drawn
73  Double_t fVisDensity; // transparency threshold by density
74  Int_t fExplodedView; // exploded view mode
75  Int_t fVisOption; // global visualization option
76  Int_t fVisLevel; // maximum visualization depth
77  Int_t fNsegments; // number of segments to approximate circles
78  Int_t fNtracks; // number of tracks
79  Int_t fMaxVisNodes; // maximum number of visible nodes
80  TVirtualGeoTrack *fCurrentTrack; //! current track
81  Int_t fNpdg; // number of different pdg's stored
82  Int_t fPdgId[1024]; // pdg conversion table
83  Bool_t fClosed; //! flag that geometry is closed
84  Bool_t fLoopVolumes; //! flag volume lists loop
85  Bool_t fStreamVoxels; // flag to allow voxelization I/O
86  Bool_t fIsGeomReading; //! flag set when reading geometry
87  Bool_t fIsGeomCleaning; //! flag to notify that the manager is being destructed
88  Bool_t fPhiCut; // flag for phi cuts
89  Bool_t fTimeCut; // time cut for tracks
90  Bool_t fDrawExtra; //! flag that the list of physical nodes has to be drawn
91  Bool_t fMatrixTransform; //! flag for using GL matrix
92  Bool_t fMatrixReflection; //! flag for GL reflections
93  Bool_t fActivity; //! switch ON/OFF volume activity (default OFF - all volumes active))
94  Bool_t fIsNodeSelectable; //! flag that nodes are the selected objects in pad rather than volumes
95  TVirtualGeoPainter *fPainter; //! current painter
96 
97  TObjArray *fMatrices; //-> list of local transformations
98  TObjArray *fShapes; //-> list of shapes
99  TObjArray *fVolumes; //-> list of volumes
100  TObjArray *fPhysicalNodes; //-> list of physical nodes
101  TObjArray *fGShapes; //! list of runtime shapes
102  TObjArray *fGVolumes; //! list of runtime volumes
103  TObjArray *fTracks; //-> list of tracks attached to geometry
104  TObjArray *fPdgNames; //-> list of pdg names for tracks
105  TObjArray *fGDMLMatrices; //-> list of matrices read from GDML
106  TObjArray *fOpticalSurfaces; //-> list of optical surfaces read from GDML
107  TObjArray *fSkinSurfaces; //-> list of skin surfaces read from GDML
108  TObjArray *fBorderSurfaces; //-> list of border surfaces read from GDML
109  TList *fMaterials; //-> list of materials
110  TList *fMedia; //-> list of tracking media
111  TObjArray *fNodes; //-> current branch of nodes
112  TObjArray *fOverlaps; //-> list of geometrical overlaps
113  TObjArray *fRegions; //-> list of regions
114  UChar_t *fBits; //! bits used for voxelization
115  // Map of navigator arrays per thread
116  typedef std::map<std::thread::id, TGeoNavigatorArray *> NavigatorsMap_t;
117  typedef NavigatorsMap_t::iterator NavigatorsMapIt_t;
118  typedef std::map<std::thread::id, Int_t> ThreadsMap_t;
119  typedef ThreadsMap_t::const_iterator ThreadsMapIt_t;
120  // Map of constant properties
121  typedef std::map<std::string, Double_t> ConstPropMap_t;
122 
123  NavigatorsMap_t fNavigators; //! Map between thread id's and navigator arrays
124  static ThreadsMap_t *fgThreadId; //! Thread id's map
125  static Int_t fgNumThreads; //! Number of registered threads
126  static Bool_t fgLockNavigators; //! Lock existing navigators
127  TGeoNavigator *fCurrentNavigator; //! current navigator
128  TGeoVolume *fCurrentVolume; //! current volume
129  TGeoVolume *fTopVolume; //! top level volume in geometry
130  TGeoNode *fTopNode; //! top physical node
131  TGeoVolume *fMasterVolume; // master volume
132  TGeoHMatrix *fGLMatrix; // matrix to be used for view transformations
133  TObjArray *fUniqueVolumes; //-> list of unique volumes
134  TGeoShape *fClippingShape; //! clipping shape for raytracing
135  TGeoElementTable *fElementTable; //! table of elements
136 
137  Int_t fNLevel; // maximum accepted level in geometry
138  TGeoVolume *fPaintVolume; //! volume currently painted
140  THashList *fHashVolumes; //! hash list of volumes providing fast search
141  THashList *fHashGVolumes; //! hash list of group volumes providing fast search
142  THashList *fHashPNE; //-> hash list of physical node entries
143  mutable TObjArray *fArrayPNE; //! array of physical node entries
144  Int_t fSizePNEId; // size of the array of unique ID's for PN entries
145  Int_t fNPNEId; // number of PN entries having a unique ID
146  Int_t *fKeyPNEId; //[fSizePNEId] array of uid values for PN entries
147  Int_t *fValuePNEId; //[fSizePNEId] array of pointers to PN entries with ID's
148  Int_t fMaxThreads; //! Max number of threads
149  Bool_t fMultiThread; //! Flag for multi-threading
150  Int_t fRaytraceMode; //! Raytrace mode: 0=normal, 1=pass through, 2=transparent
151  Bool_t fUsePWNav; // Activate usage of parallel world in navigation
152  TGeoParallelWorld *fParallelWorld; // Parallel world
153  ConstPropMap_t fProperties; // Map of user-defined constant properties
154 //--- private methods
156  void Init();
157  Bool_t InitArrayPNE() const;
158  Bool_t InsertPNEId(Int_t uid, Int_t ientry);
160  void UpdateElements();
161  void Voxelize(Option_t *option = 0);
162 
163 public:
164  // constructors
165  TGeoManager();
166  TGeoManager(const char *name, const char *title);
167  // destructor
168  virtual ~TGeoManager();
169  //--- adding geometrical objects
170  Int_t AddMaterial(const TGeoMaterial *material);
171  Int_t AddOverlap(const TNamed *ovlp);
172  Int_t AddRegion(TGeoRegion *region);
173  Int_t AddTransformation(const TGeoMatrix *matrix);
174  Int_t AddShape(const TGeoShape *shape);
175  Int_t AddTrack(Int_t id, Int_t pdgcode, TObject *particle=0);
177  Int_t AddVolume(TGeoVolume *volume);
179  Bool_t AddProperty(const char *property, Double_t value);
180  Double_t GetProperty(const char *name, Bool_t *error = nullptr) const;
181  Double_t GetProperty(size_t i, TString &name, Bool_t *error = nullptr) const;
182  Int_t GetNproperties() const { return fProperties.size(); }
183  void ClearOverlaps();
184  void RegisterMatrix(const TGeoMatrix *matrix);
185  void SortOverlaps();
186  //--- browsing and tree navigation
187  void Browse(TBrowser *b);
188  void SetVisibility(TObject *obj, Bool_t vis);
189  virtual Bool_t cd(const char *path=""); // *MENU*
190  Bool_t CheckPath(const char *path) const;
191  void CdNode(Int_t nodeid);
192  void CdDown(Int_t index);
193  void CdUp();
194  void CdTop();
195  void CdNext();
196  void GetBranchNames(Int_t *names) const;
197  void GetBranchNumbers(Int_t *copyNumbers, Int_t *volumeNumbers) const;
198  void GetBranchOnlys(Int_t *isonly) const;
200  const char *GetPdgName(Int_t pdg) const;
201  void SetPdgName(Int_t pdg, const char *name);
202  Bool_t IsFolder() const { return kTRUE; }
203  //--- visualization settings
204  virtual void Edit(Option_t *option=""); // *MENU*
205  void BombTranslation(const Double_t *tr, Double_t *bombtr);
206  void UnbombTranslation(const Double_t *tr, Double_t *bombtr);
207  void ClearAttributes(); // *MENU*
208  void DefaultAngles(); // *MENU*
209  void DefaultColors(); // *MENU*
211  Int_t GetNsegments() const;
214  Int_t GetBombMode() const {return fExplodedView;}
215  void GetBombFactors(Double_t &bombx, Double_t &bomby, Double_t &bombz, Double_t &bombr) const;
217  Bool_t GetTminTmax(Double_t &tmin, Double_t &tmax) const;
218  Double_t GetTmax() const {return fTmax;}
222  Int_t GetVisLevel() const;
223  Int_t GetVisOption() const;
224  Bool_t IsInPhiRange() const;
225  Bool_t IsDrawingExtra() const {return fDrawExtra;}
227  Bool_t IsVisLeaves() const {return (fVisOption==1)?kTRUE:kFALSE;}
228  void ModifiedPad() const;
229  void OptimizeVoxels(const char *filename="tgeovox.C"); // *MENU*
230  void SetClipping(Bool_t flag=kTRUE) {SetClippingShape(((flag)?fClippingShape:0));} // *MENU*
231  void SetClippingShape(TGeoShape *clip);
232  void SetExplodedView(Int_t iopt=0); // *MENU*
233  void SetPhiRange(Double_t phimin=0., Double_t phimax=360.);
234  void SetNsegments(Int_t nseg); // *MENU*
236  void SetBombFactors(Double_t bombx=1.3, Double_t bomby=1.3, Double_t bombz=1.3, Double_t bombr=1.3); // *MENU*
239  void SetTopVisible(Bool_t vis=kTRUE);
240  void SetTminTmax(Double_t tmin=0, Double_t tmax=999);
243  void SetVisDensity(Double_t dens=0.01); // *MENU*
244  void SetVisLevel(Int_t level=3); // *MENU*
245  void SetVisOption(Int_t option=0);
246  void ViewLeaves(Bool_t flag=kTRUE); // *TOGGLE* *GETTER=IsVisLeaves
247  void SaveAttributes(const char *filename="tgeoatt.C"); // *MENU*
248  void RestoreMasterVolume(); // *MENU*
249  void SetMaxVisNodes(Int_t maxnodes=10000); // *MENU*
250  //--- geometry checking
251  void AnimateTracks(Double_t tmin=0, Double_t tmax=5E-8, Int_t nframes=200, Option_t *option="/*"); // *MENU*
252  void CheckBoundaryErrors(Int_t ntracks=1000000, Double_t radius=-1.); // *MENU*
253  void CheckBoundaryReference(Int_t icheck=-1);
254  void CheckGeometryFull(Int_t ntracks=1000000, Double_t vx=0., Double_t vy=0., Double_t vz=0., Option_t *option="ob"); // *MENU*
255  void CheckGeometry(Option_t *option="");
256  void CheckOverlaps(Double_t ovlp=0.1, Option_t *option=""); // *MENU*
257  void CheckPoint(Double_t x=0,Double_t y=0, Double_t z=0, Option_t *option=""); // *MENU*
258  void CheckShape(TGeoShape *shape, Int_t testNo, Int_t nsamples, Option_t *option);
259  void ConvertReflections();
260  void DrawCurrentPoint(Int_t color=2); // *MENU*
261  void DrawTracks(Option_t *option=""); // *MENU*
262  void SetParticleName(const char *pname) {fParticleName=pname;}
263  const char *GetParticleName() const {return fParticleName.Data();}
264  void DrawPath(const char *path, Option_t *option="");
265  void PrintOverlaps() const; // *MENU*
266  void RandomPoints(const TGeoVolume *vol, Int_t npoints=10000, Option_t *option="");
267  void RandomRays(Int_t nrays=1000, Double_t startx=0, Double_t starty=0, Double_t startz=0, const char *target_vol=0, Bool_t check_norm=kFALSE);
268  TGeoNode *SamplePoints(Int_t npoints, Double_t &dist, Double_t epsil=1E-5,
269  const char *g3path="");
270  void SetNmeshPoints(Int_t npoints=1000);
271  void SetCheckedNode(TGeoNode *node);
272  void Test(Int_t npoints=1000000, Option_t *option=""); // *MENU*
273  void TestOverlaps(const char* path=""); // *MENU*
274  Double_t Weight(Double_t precision=0.01, Option_t *option="va"); // *MENU*
275 
276  //--- GEANT3-like geometry creation
277  TGeoVolume *Division(const char *name, const char *mother, Int_t iaxis, Int_t ndiv,
278  Double_t start, Double_t step, Int_t numed=0, Option_t *option="");
279  void Matrix(Int_t index, Double_t theta1, Double_t phi1,
280  Double_t theta2, Double_t phi2,
281  Double_t theta3, Double_t phi3);
282  TGeoMaterial *Material(const char *name, Double_t a, Double_t z, Double_t dens, Int_t uid, Double_t radlen=0, Double_t intlen=0);
283  TGeoMaterial *Mixture(const char *name, Float_t *a, Float_t *z, Double_t dens,
284  Int_t nelem, Float_t *wmat, Int_t uid);
285  TGeoMaterial *Mixture(const char *name, Double_t *a, Double_t *z, Double_t dens,
286  Int_t nelem, Double_t *wmat, Int_t uid);
287  TGeoMedium *Medium(const char *name, Int_t numed, Int_t nmat, Int_t isvol,
288  Int_t ifield, Double_t fieldm, Double_t tmaxfd,
289  Double_t stemax, Double_t deemax, Double_t epsil,
290  Double_t stmin);
291  void Node(const char *name, Int_t nr, const char *mother,
292  Double_t x, Double_t y, Double_t z, Int_t irot,
293  Bool_t isOnly, Float_t *upar, Int_t npar=0);
294  void Node(const char *name, Int_t nr, const char *mother,
295  Double_t x, Double_t y, Double_t z, Int_t irot,
296  Bool_t isOnly, Double_t *upar, Int_t npar=0);
297  TGeoVolume *Volume(const char *name, const char *shape, Int_t nmed,
298  Float_t *upar, Int_t npar=0);
299  TGeoVolume *Volume(const char *name, const char *shape, Int_t nmed,
300  Double_t *upar, Int_t npar=0);
301  void SetVolumeAttribute(const char *name, const char *att, Int_t val);
302  //--- geometry building
303  void BuildDefaultMaterials();
304  void CloseGeometry(Option_t *option="d");
305  Bool_t IsClosed() const {return fClosed;}
306  TGeoVolume *MakeArb8(const char *name, TGeoMedium *medium,
307  Double_t dz, Double_t *vertices=0);
308  TGeoVolume *MakeBox(const char *name, TGeoMedium *medium,
309  Double_t dx, Double_t dy, Double_t dz);
310  TGeoVolume *MakeCone(const char *name, TGeoMedium *medium,
311  Double_t dz, Double_t rmin1, Double_t rmax1,
312  Double_t rmin2, Double_t rmax2);
313  TGeoVolume *MakeCons(const char *name, TGeoMedium *medium,
314  Double_t dz, Double_t rmin1, Double_t rmax1,
315  Double_t rmin2, Double_t rmax2,
316  Double_t phi1, Double_t phi2);
317  TGeoVolume *MakeCtub(const char *name, TGeoMedium *medium,
318  Double_t rmin, Double_t rmax, Double_t dz, Double_t phi1, Double_t phi2,
319  Double_t lx, Double_t ly, Double_t lz, Double_t tx, Double_t ty, Double_t tz);
320  TGeoVolume *MakeEltu(const char *name, TGeoMedium *medium,
321  Double_t a, Double_t b, Double_t dz);
322  TGeoVolume *MakeGtra(const char *name, TGeoMedium *medium,
323  Double_t dz, Double_t theta, Double_t phi, Double_t twist, Double_t h1,
324  Double_t bl1, Double_t tl1, Double_t alpha1, Double_t h2, Double_t bl2,
325  Double_t tl2, Double_t alpha2);
326  TGeoVolume *MakePara(const char *name, TGeoMedium *medium,
327  Double_t dx, Double_t dy, Double_t dz,
328  Double_t alpha, Double_t theta, Double_t phi);
329  TGeoVolume *MakePcon(const char *name, TGeoMedium *medium,
330  Double_t phi, Double_t dphi, Int_t nz);
331  TGeoVolume *MakeParaboloid(const char *name, TGeoMedium *medium,
332  Double_t rlo, Double_t rhi, Double_t dz);
333  TGeoVolume *MakeHype(const char *name, TGeoMedium *medium,
334  Double_t rin, Double_t stin, Double_t rout, Double_t stout, Double_t dz);
335  TGeoVolume *MakePgon(const char *name, TGeoMedium *medium,
336  Double_t phi, Double_t dphi, Int_t nedges, Int_t nz);
337  TGeoVolume *MakeSphere(const char *name, TGeoMedium *medium,
338  Double_t rmin, Double_t rmax,
339  Double_t themin=0, Double_t themax=180,
340  Double_t phimin=0, Double_t phimax=360);
341  TGeoVolume *MakeTorus(const char *name, TGeoMedium *medium, Double_t r,
342  Double_t rmin, Double_t rmax, Double_t phi1=0, Double_t dphi=360);
343  TGeoVolume *MakeTrap(const char *name, TGeoMedium *medium,
344  Double_t dz, Double_t theta, Double_t phi, Double_t h1,
345  Double_t bl1, Double_t tl1, Double_t alpha1, Double_t h2, Double_t bl2,
346  Double_t tl2, Double_t alpha2);
347  TGeoVolume *MakeTrd1(const char *name, TGeoMedium *medium,
348  Double_t dx1, Double_t dx2, Double_t dy, Double_t dz);
349  TGeoVolume *MakeTrd2(const char *name, TGeoMedium *medium,
350  Double_t dx1, Double_t dx2, Double_t dy1, Double_t dy2,
351  Double_t dz);
352  TGeoVolume *MakeTube(const char *name, TGeoMedium *medium,
353  Double_t rmin, Double_t rmax, Double_t dz);
354  TGeoVolume *MakeTubs(const char *name, TGeoMedium *medium,
355  Double_t rmin, Double_t rmax, Double_t dz,
356  Double_t phi1, Double_t phi2);
357  TGeoVolume *MakeXtru(const char *name, TGeoMedium *medium,
358  Int_t nz);
359 
360  TGeoPNEntry *SetAlignableEntry(const char *unique_name, const char *path, Int_t uid=-1);
361  TGeoPNEntry *GetAlignableEntry(const char *name) const;
362  TGeoPNEntry *GetAlignableEntry(Int_t index) const;
364  Int_t GetNAlignable(Bool_t with_uid=kFALSE) const;
365  TGeoPhysicalNode *MakeAlignablePN(const char *name);
367  TGeoPhysicalNode *MakePhysicalNode(const char *path=0);
368  void ClearPhysicalNodes(Bool_t mustdelete=kFALSE);
369  void RefreshPhysicalNodes(Bool_t lock=kTRUE);
370  TVirtualGeoTrack *MakeTrack(Int_t id, Int_t pdgcode, TObject *particle);
372  TGeoVolumeMulti *MakeVolumeMulti(const char *name, TGeoMedium *medium);
373  void SetTopVolume(TGeoVolume *vol);
374 
375  //--- geometry queries
376  TGeoNode *CrossBoundaryAndLocate(Bool_t downwards, TGeoNode *skipnode);
377  TGeoNode *FindNextBoundary(Double_t stepmax=TGeoShape::Big(),const char *path="", Bool_t frombdr=kFALSE);
378  TGeoNode *FindNextDaughterBoundary(Double_t *point, Double_t *dir, Int_t &idaughter, Bool_t compmatrix=kFALSE);
380  TGeoNode *FindNode(Bool_t safe_start=kTRUE);
384  TGeoNode *InitTrack(const Double_t *point, const Double_t *dir);
386  void ResetState();
387  Double_t Safety(Bool_t inside=kFALSE);
388  TGeoNode *SearchNode(Bool_t downwards=kFALSE, const TGeoNode *skipnode=0);
389  TGeoNode *Step(Bool_t is_geom=kTRUE, Bool_t cross=kTRUE);
394  Int_t GetNtracks() const {return fNtracks;}
398  TVirtualGeoTrack *GetTrack(Int_t index) {return (index<fNtracks)?(TVirtualGeoTrack*)fTracks->At(index):0;}
399  Int_t GetTrackIndex(Int_t id) const;
405  Int_t GetSafeLevel() const;
409  void InspectState() const;
433 
434 
435  //--- cleaning
436  void CleanGarbage();
437  void ClearShape(const TGeoShape *shape);
439  void ClearNavigators();
440  void RemoveMaterial(Int_t index);
441  void RemoveNavigator(const TGeoNavigator *nav);
442  void ResetUserData();
443 
444 
445  //--- utilities
446  Int_t CountNodes(const TGeoVolume *vol=0, Int_t nlevels=10000, Int_t option=0);
447  void CountLevels();
448  virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
449  static Int_t Parse(const char* expr, TString &expr1, TString &expr2, TString &expr3);
450  Int_t ReplaceVolume(TGeoVolume *vorig, TGeoVolume *vnew);
451  Int_t TransformVolumeToAssembly(const char *vname);
452  UChar_t *GetBits() {return fBits;}
453  virtual Int_t GetByteCount(Option_t *option=0);
454  void SetAllIndex();
455  static Int_t GetMaxDaughters();
456  static Int_t GetMaxLevels();
457  static Int_t GetMaxXtruVert();
458  Int_t GetMaxThreads() const {return fMaxThreads-1;}
459  void SetMaxThreads(Int_t nthreads);
460  Int_t GetRTmode() const {return fRaytraceMode;}
461  void SetRTmode(Int_t mode); // *MENU*
463  static void SetNavigatorsLock(Bool_t flag);
464  static Int_t ThreadId();
465  static Int_t GetNumThreads();
466  static void ClearThreadsMap();
467  void ClearThreadData() const;
468  void CreateThreadData() const;
469 
470  //--- I/O
471  virtual Int_t Export(const char *filename, const char *name="", Option_t *option="vg");
472  static void LockGeometry();
473  static void UnlockGeometry();
474  static Int_t GetVerboseLevel();
475  static void SetVerboseLevel(Int_t vl);
476  static TGeoManager *Import(const char *filename, const char *name="", Option_t *option="");
477  static Bool_t IsLocked();
478  static void SetExportPrecision(UInt_t prec) {fgExportPrecision = prec;}
485 
486  //--- list getters
492  TList *GetListOfMedia() const {return fMedia;}
495  TObjArray *GetListOfShapes() const {return fShapes;}
498  TObjArray *GetListOfTracks() const {return fTracks;}
506 
507  //--- modeler state getters/setters
508  void DoBackupState();
509  void DoRestoreState();
510  TGeoNode *GetNode(Int_t level) const {return (TGeoNode*)fNodes->UncheckedAt(level);}
513  TGeoNode *GetMother(Int_t up=1) const {return GetCurrentNavigator()->GetMother(up);}
517  TGeoHMatrix *GetGLMatrix() const {return fGLMatrix;}
520  Int_t GetCurrentNodeId() const;
525  const Double_t *GetCldir() const {return GetCurrentNavigator()->GetCldir();}
526  const Double_t *GetNormal() const {return GetCurrentNavigator()->GetNormal();}
528  Int_t GetMaxLevel() const {return fNLevel;}
529  const char *GetPath() const;
532  TGeoVolume *GetTopVolume() const {return fTopVolume;}
533  TGeoNode *GetTopNode() const {return fTopNode;}
541 
542  //--- point/vector reference frame conversion
543  void LocalToMaster(const Double_t *local, Double_t *master) const {GetCurrentNavigator()->LocalToMaster(local, master);}
544  void LocalToMasterVect(const Double_t *local, Double_t *master) const {GetCurrentNavigator()->LocalToMasterVect(local, master);}
545  void LocalToMasterBomb(const Double_t *local, Double_t *master) const {GetCurrentNavigator()->LocalToMasterBomb(local, master);}
546  void MasterToLocal(const Double_t *master, Double_t *local) const {GetCurrentNavigator()->MasterToLocal(master, local);}
547  void MasterToLocalVect(const Double_t *master, Double_t *local) const {GetCurrentNavigator()->MasterToLocalVect(master, local);}
548  void MasterToLocalBomb(const Double_t *master, Double_t *local) const {GetCurrentNavigator()->MasterToLocalBomb(master, local);}
549  void MasterToTop(const Double_t *master, Double_t *top) const;
550  void TopToMaster(const Double_t *top, Double_t *master) const;
551 
552  //--- general use getters/setters
554  TGeoVolume *FindVolumeFast(const char*name, Bool_t multi=kFALSE);
555  TGeoMaterial *GetMaterial(const char *matname) const;
556  TGeoMaterial *GetMaterial(Int_t id) const;
557  TGeoMedium *GetMedium(const char *medium) const;
558  TGeoMedium *GetMedium(Int_t numed) const;
559  Int_t GetMaterialIndex(const char *matname) const;
560 
561  //--- GDML object accessors
562  TGDMLMatrix *GetGDMLMatrix(const char *name) const;
563  void AddGDMLMatrix(TGDMLMatrix *mat);
564  TGeoOpticalSurface *GetOpticalSurface(const char *name) const;
565  void AddOpticalSurface(TGeoOpticalSurface *optsurf);
566  TGeoSkinSurface *GetSkinSurface(const char *name) const;
567  void AddSkinSurface(TGeoSkinSurface *surf);
568  TGeoBorderSurface *GetBorderSurface(const char *name) const;
570 
571 // TGeoShape *GetShape(const char *name) const;
572  TGeoVolume *GetVolume(const char*name) const;
573  TGeoVolume *GetVolume(Int_t uid) const {return (TGeoVolume*)fUniqueVolumes->At(uid);}
574  int GetNregions() const {return fRegions->GetEntriesFast();}
575  TGeoRegion *GetRegion(int i) {return (TGeoRegion*)fRegions->At(i);}
576  Int_t GetUID(const char *volname) const;
577  Int_t GetNNodes() {if (!fNNodes) CountNodes(); return fNNodes;}
579 // void SetCache(const TGeoNodeCache *cache) {fCache = (TGeoNodeCache*)cache;}
581  virtual ULong_t SizeOf(const TGeoNode *node, Option_t *option); // size of the geometry in memory
582  void SelectTrackingMedia();
583 
584  //--- stack manipulation
585  Int_t PushPath(Int_t startlevel=0) {return GetCurrentNavigator()->PushPath(startlevel);}
587  Bool_t PopPath(Int_t index) {return GetCurrentNavigator()->PopPath(index);}
588  Int_t PushPoint(Int_t startlevel=0) {return GetCurrentNavigator()->PushPoint(startlevel);}
590  Bool_t PopPoint(Int_t index) {return GetCurrentNavigator()->PopPoint(index);}
591  void PopDummy(Int_t ipop=9999) {return GetCurrentNavigator()->PopDummy(ipop);}
592 
593  //--- parallel world navigation
596  void SetUseParallelWorldNav(Bool_t flag);
598 
599  ClassDef(TGeoManager, 17) // geometry manager
600 };
601 
603 
604 #endif
605 
TGeoManager::FindNormal
Double_t * FindNormal(Bool_t forward=kTRUE)
Computes normal vector to the next surface that will be or was already crossed when propagating on a ...
Definition: TGeoManager.cxx:2588
TGeoManager::SetMatrixTransform
void SetMatrixTransform(Bool_t on=kTRUE)
Definition: TGeoManager.h:420
TGeoManager::AnimateTracks
void AnimateTracks(Double_t tmin=0, Double_t tmax=5E-8, Int_t nframes=200, Option_t *option="/*")
Draw animation of tracks.
Definition: TGeoManager.cxx:1673
TGeoManager::NavigatorsMapIt_t
NavigatorsMap_t::iterator NavigatorsMapIt_t
Definition: TGeoManager.h:117
TGeoManager::fgDefaultUnits
static EDefaultUnits fgDefaultUnits
Precision to be used in ASCII exports.
Definition: TGeoManager.h:60
TGeoManager::UpdateElements
void UpdateElements()
Update element flags when geometry is loaded from a file.
Definition: TGeoManager.cxx:3878
TGeoManager::IsAnimatingTracks
Bool_t IsAnimatingTracks() const
Definition: TGeoManager.h:410
TGeoManager::fgVerboseLevel
static Int_t fgVerboseLevel
Lock preventing a second geometry to be loaded.
Definition: TGeoManager.h:55
TGeoNavigator::GetCurrentMatrix
TGeoHMatrix * GetCurrentMatrix() const
Definition: TGeoNavigator.h:157
TGeoManager::GetExportPrecision
static UInt_t GetExportPrecision()
Definition: TGeoManager.h:479
TGeoManager::GetTmax
Double_t GetTmax() const
Definition: TGeoManager.h:218
TGeoManager::fClosed
Bool_t fClosed
Definition: TGeoManager.h:83
TGeoManager::SetTminTmax
void SetTminTmax(Double_t tmin=0, Double_t tmax=999)
Set time cut interval for drawing tracks.
Definition: TGeoManager.cxx:3948
TGeoManager::EDefaultUnits
EDefaultUnits
Definition: TGeoManager.h:47
TGeoManager::GetLastPoint
const Double_t * GetLastPoint() const
Definition: TGeoManager.h:397
TGeoManager::GetListOfNodes
TObjArray * GetListOfNodes()
Definition: TGeoManager.h:487
TGeoManager::fHashGVolumes
THashList * fHashGVolumes
hash list of volumes providing fast search
Definition: TGeoManager.h:141
TGeoNavigator::GetNormal
const Double_t * GetNormal() const
Definition: TGeoNavigator.h:167
TGeoManager::CheckPath
Bool_t CheckPath(const char *path) const
Check if a geometry path is valid without changing the state of the current navigator.
Definition: TGeoManager.cxx:1561
TGeoNavigator::GetNmany
Int_t GetNmany() const
Definition: TGeoNavigator.h:104
TBrowser
Using a TBrowser one can browse all ROOT objects.
Definition: TBrowser.h:37
TGeoNavigator::GetCurrentDirection
const Double_t * GetCurrentDirection() const
Definition: TGeoNavigator.h:161
TGeoManager::SetExportPrecision
static void SetExportPrecision(UInt_t prec)
Definition: TGeoManager.h:478
TGeoManager::GetUID
Int_t GetUID(const char *volname) const
Retrieve unique id for a volume name. Return -1 if name not found.
Definition: TGeoManager.cxx:2743
TGeoManager::GetListOfOverlaps
TObjArray * GetListOfOverlaps()
Definition: TGeoManager.h:489
TGeoManager::fMatrices
TObjArray * fMatrices
current painter
Definition: TGeoManager.h:97
kTRUE
const Bool_t kTRUE
Definition: RtypesCore.h:91
TGeoPhysicalNode
Physical nodes are the actual 'touchable' objects in the geometry, representing a path of positioned ...
Definition: TGeoPhysicalNode.h:37
TGeoManager::GetBranchNames
void GetBranchNames(Int_t *names) const
Fill volume names of current branch into an array.
Definition: TGeoManager.cxx:1786
TGeoManager::GetByteCount
virtual Int_t GetByteCount(Option_t *option=0)
Get total size of geometry in bytes.
Definition: TGeoManager.cxx:2663
TGeoManager::fCurrentNavigator
TGeoNavigator * fCurrentNavigator
Lock existing navigators.
Definition: TGeoManager.h:127
TGeoManager::GetMaxVisNodes
Int_t GetMaxVisNodes() const
Definition: TGeoManager.h:216
TGeoManager::ClearThreadsMap
static void ClearThreadsMap()
Clear the current map of threads.
Definition: TGeoManager.cxx:891
TObjArray::Delete
virtual void Delete(Option_t *option="")
Remove all objects from the array AND delete all heap based objects.
Definition: TObjArray.cxx:356
TGeoManager::GetBits
UChar_t * GetBits()
Definition: TGeoManager.h:452
TGeoManager::GetTopVolume
TGeoVolume * GetTopVolume() const
Definition: TGeoManager.h:532
TGeoManager::RemoveNavigator
void RemoveNavigator(const TGeoNavigator *nav)
Clear a single navigator.
Definition: TGeoManager.cxx:814
TGeoManager::MasterToLocalVect
void MasterToLocalVect(const Double_t *master, Double_t *local) const
Definition: TGeoManager.h:547
TGeoManager::fTimeCut
Bool_t fTimeCut
Definition: TGeoManager.h:89
TGeoManager::Node
void Node(const char *name, Int_t nr, const char *mother, Double_t x, Double_t y, Double_t z, Int_t irot, Bool_t isOnly, Float_t *upar, Int_t npar=0)
Create a node called <name_nr> pointing to the volume called <name> as daughter of the volume called ...
Definition: TGeoManager.cxx:1232
TGeoManager::IsClosed
Bool_t IsClosed() const
Definition: TGeoManager.h:305
TGeoManager::ClearOverlaps
void ClearOverlaps()
Clear the list of overlaps.
Definition: TGeoManager.cxx:1454
TGeoManager::CheckBoundaryErrors
void CheckBoundaryErrors(Int_t ntracks=1000000, Double_t radius=-1.)
Check pushes and pulls needed to cross the next boundary with respect to the position given by FindNe...
Definition: TGeoManager.cxx:3489
TGeoManager::UnbombTranslation
void UnbombTranslation(const Double_t *tr, Double_t *bombtr)
Get the new 'unbombed' translation vector according current exploded view mode.
Definition: TGeoManager.cxx:978
TGeoManager::AddVolume
Int_t AddVolume(TGeoVolume *volume)
Add a volume to the list. Returns index of the volume in list.
Definition: TGeoManager.cxx:672
TGeoManager::SetCheckedNode
void SetCheckedNode(TGeoNode *node)
Assign a given node to be checked for overlaps. Any other overlaps will be ignored.
Definition: TGeoManager.cxx:2201
TGeoManager::SetDrawExtraPaths
void SetDrawExtraPaths(Bool_t flag=kTRUE)
Definition: TGeoManager.h:241
TGeoManager::SetUseParallelWorldNav
void SetUseParallelWorldNav(Bool_t flag)
Activate/deactivate usage of parallel world navigation.
Definition: TGeoManager.cxx:3991
TObjArray
An array of TObjects.
Definition: TObjArray.h:37
TGeoManager::FindTrackWithId
TVirtualGeoTrack * FindTrackWithId(Int_t id) const
Search the track hierarchy to find the track with the given id.
Definition: TGeoManager.cxx:2003
TGeoManager::SetVisLevel
void SetVisLevel(Int_t level=3)
set default level down to which visualization is performed
Definition: TGeoManager.cxx:2248
TGeoNavigator::MasterToLocalVect
void MasterToLocalVect(const Double_t *master, Double_t *local) const
Definition: TGeoNavigator.h:189
TGeoManager::GetCurrentNavigator
TGeoNavigator * GetCurrentNavigator() const
Returns current navigator for the calling thread.
Definition: TGeoManager.cxx:737
TGeoManager::ThreadId
static Int_t ThreadId()
Translates the current thread id to an ordinal number.
Definition: TGeoManager.cxx:904
TGeoManager::LocalToMaster
void LocalToMaster(const Double_t *local, Double_t *master) const
Definition: TGeoManager.h:543
TGeoManager::GetPhysicalNode
TGeoPhysicalNode * GetPhysicalNode(Int_t i) const
Definition: TGeoManager.h:534
TGeoManager::fUserPaintVolume
TGeoVolume * fUserPaintVolume
volume currently painted
Definition: TGeoManager.h:139
TGeoManager::MakeTrd1
TGeoVolume * MakeTrd1(const char *name, TGeoMedium *medium, Double_t dx1, Double_t dx2, Double_t dy, Double_t dz)
Make in one step a volume pointing to a TGeoTrd1 shape with given medium.
Definition: TGeoManager.cxx:3052
Option_t
const char Option_t
Definition: RtypesCore.h:66
TGeoManager::MakeBox
TGeoVolume * MakeBox(const char *name, TGeoMedium *medium, Double_t dx, Double_t dy, Double_t dz)
Make in one step a volume pointing to a box shape with given medium.
Definition: TGeoManager.cxx:2918
TGeoManager::CdNext
void CdNext()
Do a cd to the node found next by FindNextBoundary.
Definition: TGeoManager.cxx:1544
TGeoManager::SetCurrentPoint
void SetCurrentPoint(Double_t *point)
Definition: TGeoManager.h:535
TGeoManager::fPdgNames
TObjArray * fPdgNames
Definition: TGeoManager.h:104
TGeoNavigator::GetCache
TGeoNodeCache * GetCache() const
Definition: TGeoNavigator.h:193
TGeoManager::MakePara
TGeoVolume * MakePara(const char *name, TGeoMedium *medium, Double_t dx, Double_t dy, Double_t dz, Double_t alpha, Double_t theta, Double_t phi)
Make in one step a volume pointing to a parallelepiped shape with given medium.
Definition: TGeoManager.cxx:2927
TGeoManager::fRegions
TObjArray * fRegions
Definition: TGeoManager.h:113
TGeoManager::GetListOfVolumes
TObjArray * GetListOfVolumes() const
Definition: TGeoManager.h:493
TGeoManager::GetCurrentNode
TGeoNode * GetCurrentNode() const
Definition: TGeoManager.h:519
TGeoManager::fgThreadId
static ThreadsMap_t * fgThreadId
Map between thread id's and navigator arrays.
Definition: TGeoManager.h:124
TGeoManager::IsInPhiRange
Bool_t IsInPhiRange() const
True if current node is in phi range.
Definition: TGeoManager.cxx:2612
TGeoManager::FindNormalFast
Double_t * FindNormalFast()
Computes fast normal to next crossed boundary, assuming that the current point is close enough to the...
Definition: TGeoManager.cxx:2577
TGeoManager::GetVisLevel
Int_t GetVisLevel() const
Returns current depth to which geometry is drawn.
Definition: TGeoManager.cxx:1972
TGeoManager::MakePgon
TGeoVolume * MakePgon(const char *name, TGeoMedium *medium, Double_t phi, Double_t dphi, Int_t nedges, Int_t nz)
Make in one step a volume pointing to a polygone shape with given medium.
Definition: TGeoManager.cxx:3043
TGeoManager::InitArrayPNE
Bool_t InitArrayPNE() const
Initialize PNE array for fast access via index and unique-id.
Definition: TGeoManager.cxx:3920
TGeoManager::fKeyPNEId
Int_t * fKeyPNEId
Definition: TGeoManager.h:146
TGeoManager::fMultiThread
Bool_t fMultiThread
Max number of threads.
Definition: TGeoManager.h:149
gGeoManager
R__EXTERN TGeoManager * gGeoManager
Definition: TGeoManager.h:602
TGeoManager::MasterToTop
void MasterToTop(const Double_t *master, Double_t *top) const
Convert coordinates from master volume frame to top.
Definition: TGeoManager.cxx:3960
TString::Data
const char * Data() const
Definition: TString.h:369
TGeoManager::CountLevels
void CountLevels()
Count maximum number of nodes per volume, maximum depth and maximum number of xtru vertices.
Definition: TGeoManager.cxx:1602
TGeoManager::TopToMaster
void TopToMaster(const Double_t *top, Double_t *master) const
Convert coordinates from top volume frame to master.
Definition: TGeoManager.cxx:3968
TGeoManager::fgMaxXtruVert
static Int_t fgMaxXtruVert
Maximum number of daughters.
Definition: TGeoManager.h:58
TGeoManager::GetRTmode
Int_t GetRTmode() const
Definition: TGeoManager.h:460
TGeoNavigator::MasterToLocalBomb
void MasterToLocalBomb(const Double_t *master, Double_t *local) const
Definition: TGeoNavigator.h:190
TGeoManager::fElementTable
TGeoElementTable * fElementTable
clipping shape for raytracing
Definition: TGeoManager.h:135
TGeoManager::CreateParallelWorld
TGeoParallelWorld * CreateParallelWorld(const char *name)
Create a parallel world for prioritised navigation.
Definition: TGeoManager.cxx:3980
TGeoManager::fPath
TString fPath
Definition: TGeoManager.h:71
TGeoManager::PushPath
Int_t PushPath(Int_t startlevel=0)
Definition: TGeoManager.h:585
TGeoManager::IsStreamingVoxels
Bool_t IsStreamingVoxels() const
Definition: TGeoManager.h:483
TGeoManager::fgNumThreads
static Int_t fgNumThreads
Thread id's map.
Definition: TGeoManager.h:125
TGeoManager::operator=
TGeoManager & operator=(const TGeoManager &)=delete
TGeoManager::GetVisOption
Int_t GetVisOption() const
Returns current depth to which geometry is drawn.
Definition: TGeoManager.cxx:1980
TGeoManager::SetOutside
void SetOutside(Bool_t flag=kTRUE)
Definition: TGeoManager.h:432
TGeoManager::MakeArb8
TGeoVolume * MakeArb8(const char *name, TGeoMedium *medium, Double_t dz, Double_t *vertices=0)
Make an TGeoArb8 volume.
Definition: TGeoManager.cxx:2909
r
ROOT::R::TRInterface & r
Definition: Object.C:4
TGeoNavigator::IsSameLocation
Bool_t IsSameLocation(Double_t x, Double_t y, Double_t z, Bool_t change=kFALSE)
Checks if point (x,y,z) is still in the current node.
Definition: TGeoNavigator.cxx:2383
TGeoManager::IsActivityEnabled
Bool_t IsActivityEnabled() const
Definition: TGeoManager.h:431
TGeoManager::Export
virtual Int_t Export(const char *filename, const char *name="", Option_t *option="vg")
Export this geometry to a file.
Definition: TGeoManager.cxx:3701
TGeoNavigatorArray
Definition: TGeoNavigator.h:217
TGeoManager::SetPhiRange
void SetPhiRange(Double_t phimin=0., Double_t phimax=360.)
Set cut phi range.
Definition: TGeoManager.cxx:3325
TGeoManager::kRootUnits
@ kRootUnits
Definition: TGeoManager.h:49
TGeoManager::GetPaintVolume
TGeoVolume * GetPaintVolume() const
Definition: TGeoManager.h:219
TNamed.h
TGeoManager::IsCheckingOverlaps
Bool_t IsCheckingOverlaps() const
Definition: TGeoManager.h:411
TGeoManager::CloseGeometry
void CloseGeometry(Option_t *option="d")
Closing geometry implies checking the geometry validity, fixing shapes with negative parameters (run-...
Definition: TGeoManager.cxx:1359
TGeoManager::fVolumes
TObjArray * fVolumes
Definition: TGeoManager.h:99
TGeoManager::RefreshPhysicalNodes
void RefreshPhysicalNodes(Bool_t lock=kTRUE)
Refresh physical nodes to reflect the actual geometry paths after alignment was applied.
Definition: TGeoManager.cxx:3278
TGeoManager::fLoopVolumes
Bool_t fLoopVolumes
flag that geometry is closed
Definition: TGeoManager.h:84
TGeoManager::PopDummy
void PopDummy(Int_t ipop=9999)
Definition: TGeoManager.h:591
TGeoManager::fGVolumes
TObjArray * fGVolumes
list of runtime shapes
Definition: TGeoManager.h:102
TGeoManager::PopPath
Bool_t PopPath(Int_t index)
Definition: TGeoManager.h:587
TGeoManager::AddTransformation
Int_t AddTransformation(const TGeoMatrix *matrix)
Add a matrix to the list. Returns index of the matrix in list.
Definition: TGeoManager.cxx:624
Float_t
float Float_t
Definition: RtypesCore.h:57
TGeoManager::AddOpticalSurface
void AddOpticalSurface(TGeoOpticalSurface *optsurf)
Add optical surface;.
Definition: TGeoManager.cxx:1853
TGeoManager::fTmax
Double_t fTmax
lower time limit for tracks drawing
Definition: TGeoManager.h:69
TGeoManager::IsLocked
static Bool_t IsLocked()
Check lock state.
Definition: TGeoManager.cxx:3777
TGeoNavigator::PopPath
Bool_t PopPath()
Definition: TGeoNavigator.h:197
TGeoManager::NavigatorsMap_t
std::map< std::thread::id, TGeoNavigatorArray * > NavigatorsMap_t
bits used for voxelization
Definition: TGeoManager.h:116
TGeoManager::AddNavigator
TGeoNavigator * AddNavigator()
Add a navigator in the list of navigators.
Definition: TGeoManager.cxx:717
TGeoManager::SortOverlaps
void SortOverlaps()
Sort overlaps by decreasing overlap distance. Extrusions comes first.
Definition: TGeoManager.cxx:2263
TGeoManager::GetUserPaintVolume
TGeoVolume * GetUserPaintVolume() const
Definition: TGeoManager.h:220
TGeoManager::AddOverlap
Int_t AddOverlap(const TNamed *ovlp)
Add an illegal overlap/extrusion to the list.
Definition: TGeoManager.cxx:560
Int_t
int Int_t
Definition: RtypesCore.h:45
TGeoManager::GetBorderSurface
TGeoBorderSurface * GetBorderSurface(const char *name) const
Get border surface with a given name;.
Definition: TGeoManager.cxx:1884
TGeoManager::IsParallelWorldNav
Bool_t IsParallelWorldNav() const
Definition: TGeoManager.h:597
TGeoManager::GetListOfGDMLMatrices
TObjArray * GetListOfGDMLMatrices() const
Definition: TGeoManager.h:499
TGeoParallelWorld
Base class for a flat parallel geometry.
Definition: TGeoParallelWorld.h:22
TGeoManager::FindNextDaughterBoundary
TGeoNode * FindNextDaughterBoundary(Double_t *point, Double_t *dir, Int_t &idaughter, Bool_t compmatrix=kFALSE)
Computes as fStep the distance to next daughter of the current volume.
Definition: TGeoManager.cxx:2544
TGeoManager::CountNodes
Int_t CountNodes(const TGeoVolume *vol=0, Int_t nlevels=10000, Int_t option=0)
Count the total number of nodes starting from a volume, nlevels down.
Definition: TGeoManager.cxx:1642
TGeoManager::CheckBoundaryReference
void CheckBoundaryReference(Int_t icheck=-1)
Check the boundary errors reference file created by CheckBoundaryErrors method.
Definition: TGeoManager.cxx:3499
TGeoManager::IsStartSafe
Bool_t IsStartSafe() const
Definition: TGeoManager.h:417
TGeoManager::CrossBoundaryAndLocate
TGeoNode * CrossBoundaryAndLocate(Bool_t downwards, TGeoNode *skipnode)
Cross next boundary and locate within current node The current point must be on the boundary of fCurr...
Definition: TGeoManager.cxx:2503
TGeoManager::GetNsegments
Int_t GetNsegments() const
Get number of segments approximating circles.
Definition: TGeoManager.cxx:3349
TGeoManager::DrawCurrentPoint
void DrawCurrentPoint(Int_t color=2)
Draw current point in the same view.
Definition: TGeoManager.cxx:1665
TGeoManager::GetClippingShape
TGeoShape * GetClippingShape() const
Definition: TGeoManager.h:210
TGeoManager::GetCurrentMatrix
TGeoHMatrix * GetCurrentMatrix() const
Definition: TGeoManager.h:516
TGeoManager::GetVirtualLevel
Int_t GetVirtualLevel()
Find level of virtuality of current overlapping node (number of levels up having the same tracking me...
Definition: TGeoManager.cxx:1989
TGeoManager::fTopVolume
TGeoVolume * fTopVolume
current volume
Definition: TGeoManager.h:129
TGeoManager::fShapes
TObjArray * fShapes
Definition: TGeoManager.h:98
TGeoManager::SetLastPoint
void SetLastPoint(Double_t x, Double_t y, Double_t z)
Definition: TGeoManager.h:537
TGeoManager::IsEntering
Bool_t IsEntering() const
Definition: TGeoManager.h:424
x
Double_t x[n]
Definition: legend1.C:17
TGeoManager::fNPNEId
Int_t fNPNEId
Definition: TGeoManager.h:145
TGeoManager::GetNode
TGeoNode * GetNode(Int_t level) const
Definition: TGeoManager.h:510
TGeoManager::RemoveMaterial
void RemoveMaterial(Int_t index)
Remove material at given index.
Definition: TGeoManager.cxx:2843
TGeoManager::SetClipping
void SetClipping(Bool_t flag=kTRUE)
Definition: TGeoManager.h:230
TGeoManager::RestoreMasterVolume
void RestoreMasterVolume()
Restore the master volume of the geometry.
Definition: TGeoManager.cxx:2872
TGeoManager::AddSkinSurface
void AddSkinSurface(TGeoSkinSurface *surf)
Add skin surface;.
Definition: TGeoManager.cxx:1872
TGeoManager::fProperties
ConstPropMap_t fProperties
Definition: TGeoManager.h:153
TGeoManager::IsCleaning
Bool_t IsCleaning() const
Definition: TGeoManager.h:484
TGeoManager::fMedia
TList * fMedia
Definition: TGeoManager.h:110
TGeoManager::UnlockGeometry
static void UnlockGeometry()
Unlock current geometry.
Definition: TGeoManager.cxx:3769
TGeoManager::PopPath
Bool_t PopPath()
Definition: TGeoManager.h:586
TGeoManager::Step
TGeoNode * Step(Bool_t is_geom=kTRUE, Bool_t cross=kTRUE)
Make a rectilinear step of length fStep from current point (fPoint) on current direction (fDirection)...
Definition: TGeoManager.cxx:3379
TGeoManager::MakeCtub
TGeoVolume * MakeCtub(const char *name, TGeoMedium *medium, Double_t rmin, Double_t rmax, Double_t dz, Double_t phi1, Double_t phi2, Double_t lx, Double_t ly, Double_t lz, Double_t tx, Double_t ty, Double_t tz)
Make in one step a volume pointing to a tube segment shape with given medium.
Definition: TGeoManager.cxx:3003
TGeoNavigator::PopDummy
void PopDummy(Int_t ipop=9999)
Definition: TGeoNavigator.h:202
TGeoManager::SetCurrentDirection
void SetCurrentDirection(Double_t nx, Double_t ny, Double_t nz)
Definition: TGeoManager.h:539
TGeoManager::BuildDefaultMaterials
void BuildDefaultMaterials()
Now just a shortcut for GetElementTable.
Definition: TGeoManager.cxx:3357
TGeoNodeCache
Special pool of reusable nodes.
Definition: TGeoCache.h:58
TGeoManager::MakeTrd2
TGeoVolume * MakeTrd2(const char *name, TGeoMedium *medium, Double_t dx1, Double_t dx2, Double_t dy1, Double_t dy2, Double_t dz)
Make in one step a volume pointing to a TGeoTrd2 shape with given medium.
Definition: TGeoManager.cxx:3061
TObjArray::UncheckedAt
TObject * UncheckedAt(Int_t i) const
Definition: TObjArray.h:90
TObjArray::At
TObject * At(Int_t idx) const
Definition: TObjArray.h:166
TGeoNavigator::IsStepExiting
Bool_t IsStepExiting() const
Definition: TGeoNavigator.h:142
TGeoManager::fMaxThreads
Int_t fMaxThreads
Definition: TGeoManager.h:148
TGeoManager::GetListOfPhysicalNodes
TObjArray * GetListOfPhysicalNodes()
Definition: TGeoManager.h:488
TString
Basic string class.
Definition: TString.h:136
TGeoManager::FindNode
TGeoNode * FindNode(Bool_t safe_start=kTRUE)
Returns deepest node containing current point.
Definition: TGeoManager.cxx:2560
TGeoManager::IsStepEntering
Bool_t IsStepEntering() const
Definition: TGeoManager.h:426
TGeoNavigator::GetCurrentVolume
TGeoVolume * GetCurrentVolume() const
Definition: TGeoNavigator.h:162
TGeoNavigator::GetStackLevel
Int_t GetStackLevel() const
Definition: TGeoNavigator.h:170
TGeoManager::GetMaxXtruVert
static Int_t GetMaxXtruVert()
Return maximum number of vertices for an xtru shape used.
Definition: TGeoManager.cxx:1947
TGeoManager::PushPoint
Int_t PushPoint(Int_t startlevel=0)
Definition: TGeoManager.h:588
TGeoManager::SetTopVisible
void SetTopVisible(Bool_t vis=kTRUE)
make top volume visible on screen
Definition: TGeoManager.cxx:2193
Bool_t
bool Bool_t
Definition: RtypesCore.h:63
TGeoManager::MakeVolumeAssembly
TGeoVolumeAssembly * MakeVolumeAssembly(const char *name)
Make an assembly of volumes.
Definition: TGeoManager.cxx:3300
TGeoManager::ClearThreadData
void ClearThreadData() const
Definition: TGeoManager.cxx:864
TGeoManager::fNpdg
Int_t fNpdg
current track
Definition: TGeoManager.h:81
TGeoManager::SetDefaultRootUnits
static void SetDefaultRootUnits()
Definition: TGeoManager.h:481
TGeoNode
A node represent a volume positioned inside another.They store links to both volumes and to the TGeoM...
Definition: TGeoNode.h:41
b
#define b(i)
Definition: RSha256.hxx:100
TGeoManager::IsVisLeaves
Bool_t IsVisLeaves() const
Definition: TGeoManager.h:227
TGeoManager::GetVisDensity
Double_t GetVisDensity() const
Definition: TGeoManager.h:221
TGeoManager::MakeTrap
TGeoVolume * MakeTrap(const char *name, TGeoMedium *medium, Double_t dz, Double_t theta, Double_t phi, Double_t h1, Double_t bl1, Double_t tl1, Double_t alpha1, Double_t h2, Double_t bl2, Double_t tl2, Double_t alpha2)
Make in one step a volume pointing to a trapezoid shape with given medium.
Definition: TGeoManager.cxx:3071
h1
TH1F * h1
Definition: legend1.C:5
TGeoManager::fVisDensity
Double_t fVisDensity
particles to be drawn
Definition: TGeoManager.h:73
TGeoMaterial
Base class describing materials.
Definition: TGeoMaterial.h:36
TGeoNavigator::LocalToMasterBomb
void LocalToMasterBomb(const Double_t *local, Double_t *master) const
Definition: TGeoNavigator.h:187
bool
TGeoManager::fOpticalSurfaces
TObjArray * fOpticalSurfaces
Definition: TGeoManager.h:106
TGeoManager::DoBackupState
void DoBackupState()
Backup the current state without affecting the cache stack.
Definition: TGeoManager.cxx:987
TGeoManager::GetListOfRegions
TObjArray * GetListOfRegions() const
Definition: TGeoManager.h:503
TGeoManager::fUniqueVolumes
TObjArray * fUniqueVolumes
Definition: TGeoManager.h:133
TGeoManager::IsNodeSelectable
Bool_t IsNodeSelectable() const
Definition: TGeoManager.h:226
TGeoNavigator::IsExiting
Bool_t IsExiting() const
Definition: TGeoNavigator.h:140
TGeoManager::GetCldir
const Double_t * GetCldir() const
Definition: TGeoManager.h:525
TGeoManager::DrawTracks
void DrawTracks(Option_t *option="")
Draw tracks over the geometry, according to option.
Definition: TGeoManager.cxx:1735
TGeoManager::ReplaceVolume
Int_t ReplaceVolume(TGeoVolume *vorig, TGeoVolume *vnew)
Replaces all occurrences of VORIG with VNEW in the geometry tree.
Definition: TGeoManager.cxx:1014
TGeoManager::Mixture
TGeoMaterial * Mixture(const char *name, Float_t *a, Float_t *z, Double_t dens, Int_t nelem, Float_t *wmat, Int_t uid)
Create mixture OR COMPOUND IMAT as composed by THE BASIC nelem materials defined by arrays A,...
Definition: TGeoManager.cxx:1173
TGeoManager::SetNsegments
void SetNsegments(Int_t nseg)
Set number of segments for approximating circles in drawing.
Definition: TGeoManager.cxx:3339
TGeoManager::AddBorderSurface
void AddBorderSurface(TGeoBorderSurface *surf)
Add border surface;.
Definition: TGeoManager.cxx:1891
TGeoManager::MakePhysicalNode
TGeoPhysicalNode * MakePhysicalNode(const char *path=0)
Makes a physical node corresponding to a path.
Definition: TGeoManager.cxx:3258
TGeoManager::InitTrack
TGeoNode * InitTrack(const Double_t *point, const Double_t *dir)
Initialize current point and current direction vector (normalized) in MARS.
Definition: TGeoManager.cxx:2630
TGeoManager::SetExplodedView
void SetExplodedView(Int_t iopt=0)
Set type of exploding view (see TGeoPainter::SetExplodedView())
Definition: TGeoManager.cxx:3316
TGeoManager::Division
TGeoVolume * Division(const char *name, const char *mother, Int_t iaxis, Int_t ndiv, Double_t start, Double_t step, Int_t numed=0, Option_t *option="")
Create a new volume by dividing an existing one (GEANT3 like)
Definition: TGeoManager.cxx:1135
TGeoManager::DoRestoreState
void DoRestoreState()
Restore a backed-up state without affecting the cache stack.
Definition: TGeoManager.cxx:995
TGeoNavigator::IsCurrentOverlapping
Bool_t IsCurrentOverlapping() const
Definition: TGeoNavigator.h:138
TGeoManager::GetTminTmax
Bool_t GetTminTmax(Double_t &tmin, Double_t &tmax) const
Get time cut for drawing tracks.
Definition: TGeoManager.cxx:3937
TGeoManager::GetNormal
const Double_t * GetNormal() const
Definition: TGeoManager.h:526
TGeoManager::CdUp
void CdUp()
Go one level up in geometry.
Definition: TGeoManager.cxx:1527
TGeoManager::GetCurrentNodeId
Int_t GetCurrentNodeId() const
Get the unique ID of the current node.
Definition: TGeoManager.cxx:1509
TGeoManager::CheckGeometry
void CheckGeometry(Option_t *option="")
Perform last checks on the geometry.
Definition: TGeoManager.cxx:3568
TGeoManager::SetPaintVolume
void SetPaintVolume(TGeoVolume *vol)
Definition: TGeoManager.h:237
TGeoManager::PopPoint
Bool_t PopPoint(Int_t index)
Definition: TGeoManager.h:590
TGeoManager::ThreadsMap_t
std::map< std::thread::id, Int_t > ThreadsMap_t
Definition: TGeoManager.h:118
TGeoManager::FindVolumeFast
TGeoVolume * FindVolumeFast(const char *name, Bool_t multi=kFALSE)
Fast search for a named volume. All trailing blanks stripped.
Definition: TGeoManager.cxx:2721
TGeoManager::IsSameLocation
Bool_t IsSameLocation() const
Definition: TGeoManager.h:415
TGeoManager::MakeCone
TGeoVolume * MakeCone(const char *name, TGeoMedium *medium, Double_t dz, Double_t rmin1, Double_t rmax1, Double_t rmin2, Double_t rmax2)
Make in one step a volume pointing to a cone shape with given medium.
Definition: TGeoManager.cxx:3013
TGeoManager::GetCldirChecked
const Double_t * GetCldirChecked() const
Definition: TGeoManager.h:524
TGeoManager::fExplodedView
Int_t fExplodedView
Definition: TGeoManager.h:74
TGeoManager::SetStep
void SetStep(Double_t step)
Definition: TGeoManager.h:422
TGeoNavigator::LocalToMaster
void LocalToMaster(const Double_t *local, Double_t *master) const
Definition: TGeoNavigator.h:185
TGeoManager::fgMaxDaughters
static Int_t fgMaxDaughters
Maximum level in geometry.
Definition: TGeoManager.h:57
TGeoManager::SetCurrentDirection
void SetCurrentDirection(Double_t *dir)
Definition: TGeoManager.h:538
TGeoManager::PopPoint
Bool_t PopPoint()
Definition: TGeoManager.h:589
TGeoManager::fRaytraceMode
Int_t fRaytraceMode
Flag for multi-threading.
Definition: TGeoManager.h:150
TGeoManager::fUsePWNav
Bool_t fUsePWNav
Raytrace mode: 0=normal, 1=pass through, 2=transparent.
Definition: TGeoManager.h:151
TGeoManager::fGDMLMatrices
TObjArray * fGDMLMatrices
Definition: TGeoManager.h:105
TGeoManager::GetCurrentVolume
TGeoVolume * GetCurrentVolume() const
Definition: TGeoManager.h:523
TGeoManager::fMatrixTransform
Bool_t fMatrixTransform
flag that the list of physical nodes has to be drawn
Definition: TGeoManager.h:91
TGeoManager::Weight
Double_t Weight(Double_t precision=0.01, Option_t *option="va")
Estimate weight of volume VOL with a precision SIGMA(W)/W better than PRECISION.
Definition: TGeoManager.cxx:3625
ROOT::Math::gv_detail::dist
double dist(Rotation3D const &r1, Rotation3D const &r2)
Definition: 3DDistances.cxx:48
TGeoNavigator::GetCldirChecked
const Double_t * GetCldirChecked() const
Definition: TGeoNavigator.h:163
TGeoManager::AddMaterial
Int_t AddMaterial(const TGeoMaterial *material)
Add a material to the list. Returns index of the material in list.
Definition: TGeoManager.cxx:552
TGeoManager::GetMother
TGeoNode * GetMother(Int_t up=1) const
Definition: TGeoManager.h:513
TGeoManager::GetMaxLevels
static Int_t GetMaxLevels()
Return maximum number of levels used in the geometry.
Definition: TGeoManager.cxx:1939
TGeoManager::fBits
UChar_t * fBits
Definition: TGeoManager.h:114
TGeoManager::fArrayPNE
TObjArray * fArrayPNE
Definition: TGeoManager.h:143
TGeoManager::IsStepExiting
Bool_t IsStepExiting() const
Definition: TGeoManager.h:427
TGeoNavigator::IsOnBoundary
Bool_t IsOnBoundary() const
Definition: TGeoNavigator.h:144
TGeoManager::AddRegion
Int_t AddRegion(TGeoRegion *region)
Add a new region of volumes.
Definition: TGeoManager.cxx:569
TGeoManager::GetListOfMaterials
TList * GetListOfMaterials() const
Definition: TGeoManager.h:491
TGeoManager::SetVisDensity
void SetVisDensity(Double_t dens=0.01)
Set density threshold.
Definition: TGeoManager.cxx:2239
TGeoManager::SetTopVolume
void SetTopVolume(TGeoVolume *vol)
Set the top volume and corresponding node as starting point of the geometry.
Definition: TGeoManager.cxx:3397
TGeoManager::GetNumThreads
static Int_t GetNumThreads()
Returns number of threads that were set to use geometry.
Definition: TGeoManager.cxx:1955
TGeoManager::fNsegments
Int_t fNsegments
Definition: TGeoManager.h:77
TGeoNavigator::SetStartSafe
void SetStartSafe(Bool_t flag=kTRUE)
Definition: TGeoNavigator.h:135
TGeoManager::SearchNode
TGeoNode * SearchNode(Bool_t downwards=kFALSE, const TGeoNode *skipnode=0)
Returns the deepest node containing fPoint, which must be set a priori.
Definition: TGeoManager.cxx:2494
TGeoManager::CheckGeometryFull
void CheckGeometryFull(Int_t ntracks=1000000, Double_t vx=0., Double_t vy=0., Double_t vz=0., Option_t *option="ob")
Geometry checking.
Definition: TGeoManager.cxx:3548
TGeoManager::GetCache
TGeoNodeCache * GetCache() const
Definition: TGeoManager.h:578
TGeoManager::Voxelize
void Voxelize(Option_t *option=0)
Voxelize all non-divided volumes.
Definition: TGeoManager.cxx:2881
TGeoManager::GetSkinSurface
TGeoSkinSurface * GetSkinSurface(const char *name) const
Get skin surface with a given name;.
Definition: TGeoManager.cxx:1865
TGeoManager::ConstPropMap_t
std::map< std::string, Double_t > ConstPropMap_t
Definition: TGeoManager.h:121
TGeoShape
Base abstract class for all shapes.
Definition: TGeoShape.h:26
TGeoManager::fHashVolumes
THashList * fHashVolumes
Definition: TGeoManager.h:140
TGeoManager::ClearNavigators
void ClearNavigators()
Clear all navigators.
Definition: TGeoManager.cxx:798
TGeoManager::CdTop
void CdTop()
Make top level node the current node.
Definition: TGeoManager.cxx:1518
TGeoManager::RegisterMatrix
void RegisterMatrix(const TGeoMatrix *matrix)
Register a matrix to the list of matrices.
Definition: TGeoManager.cxx:1004
TGeoManager::SetMaxThreads
void SetMaxThreads(Int_t nthreads)
Set maximum number of threads for navigation.
Definition: TGeoManager.cxx:835
TGeoManager::SetAlignableEntry
TGeoPNEntry * SetAlignableEntry(const char *unique_name, const char *path, Int_t uid=-1)
Creates an alignable object with unique name corresponding to a path and adds it to the list of align...
Definition: TGeoManager.cxx:3103
TGeoManager::CheckShape
void CheckShape(TGeoShape *shape, Int_t testNo, Int_t nsamples, Option_t *option)
Test for shape navigation methods.
Definition: TGeoManager.cxx:3520
TGeoManager::fNodes
TObjArray * fNodes
Definition: TGeoManager.h:111
TGeoManager::fgLockNavigators
static Bool_t fgLockNavigators
Number of registered threads.
Definition: TGeoManager.h:126
TGeoManager::MasterToLocalBomb
void MasterToLocalBomb(const Double_t *master, Double_t *local) const
Definition: TGeoManager.h:548
TGeoHMatrix
Matrix class used for computing global transformations Should NOT be used for node definition.
Definition: TGeoMatrix.h:421
THashList
THashList implements a hybrid collection class consisting of a hash table and a list to store TObject...
Definition: THashList.h:34
TGeoManager::SetCurrentNavigator
Bool_t SetCurrentNavigator(Int_t index)
Switch to another existing navigator for the calling thread.
Definition: TGeoManager.cxx:767
TGeoManager::SetVisOption
void SetVisOption(Int_t option=0)
set drawing mode :
Definition: TGeoManager.cxx:2221
TGeoManager::GetGeomPainter
TVirtualGeoPainter * GetGeomPainter()
Make a default painter if none present. Returns pointer to it.
Definition: TGeoManager.cxx:2685
TGeoManager::fDrawExtra
Bool_t fDrawExtra
Definition: TGeoManager.h:90
TGeoManager::ClearAttributes
void ClearAttributes()
Reset all attributes to default ones.
Definition: TGeoManager.cxx:1337
TGeoNavigator::SetCheckingOverlaps
void SetCheckingOverlaps(Bool_t flag=kTRUE)
Definition: TGeoNavigator.h:146
TGeoNavigator::GetMotherMatrix
TGeoHMatrix * GetMotherMatrix(Int_t up=1) const
Definition: TGeoNavigator.h:155
TGeoManager::GetParallelWorld
TGeoParallelWorld * GetParallelWorld() const
Definition: TGeoManager.h:595
TGeoManager::IsDrawingExtra
Bool_t IsDrawingExtra() const
Definition: TGeoManager.h:225
TGeoManager::GetVolume
TGeoVolume * GetVolume(const char *name) const
Search for a named volume. All trailing blanks stripped.
Definition: TGeoManager.cxx:2710
TGeoManager::DefaultAngles
void DefaultAngles()
Set default angles for a given view.
Definition: TGeoManager.cxx:1657
TGeoNavigator::GetCurrentPoint
const Double_t * GetCurrentPoint() const
Definition: TGeoNavigator.h:160
TGeoManager::cd
virtual Bool_t cd(const char *path="")
Browse the tree of nodes starting from fTopNode according to pathname.
Definition: TGeoManager.cxx:1553
TObjArray::GetEntriesFast
Int_t GetEntriesFast() const
Definition: TObjArray.h:64
TGeoManager::ExecuteEvent
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
Execute mouse actions on this manager.
Definition: TGeoManager.cxx:3677
TGeoManager::GetParticleName
const char * GetParticleName() const
Definition: TGeoManager.h:263
a
auto * a
Definition: textangle.C:12
TNamed
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29
TGeoManager::GetBranchOnlys
void GetBranchOnlys(Int_t *isonly) const
Fill node copy numbers of current branch into an array.
Definition: TGeoManager.cxx:1911
TGeoManager::FindNextBoundary
TGeoNode * FindNextBoundary(Double_t stepmax=TGeoShape::Big(), const char *path="", Bool_t frombdr=kFALSE)
Find distance to next boundary and store it in fStep.
Definition: TGeoManager.cxx:2533
TGeoElementTable
Table of elements.
Definition: TGeoElement.h:370
TGeoManager::ClearPhysicalNodes
void ClearPhysicalNodes(Bool_t mustdelete=kFALSE)
Clear the current list of physical nodes, so that we can start over with a new list.
Definition: TGeoManager.cxx:3291
kFALSE
const Bool_t kFALSE
Definition: RtypesCore.h:92
TGeoManager::SetVisibility
void SetVisibility(TObject *obj, Bool_t vis)
Set visibility for a volume.
Definition: TGeoManager.cxx:952
TGeoManager::SetNmeshPoints
void SetNmeshPoints(Int_t npoints=1000)
Set the number of points to be generated on the shape outline when checking for overlaps.
Definition: TGeoManager.cxx:2209
TGeoManager::GetAlignableEntry
TGeoPNEntry * GetAlignableEntry(const char *name) const
Retrieves an existing alignable object.
Definition: TGeoManager.cxx:3128
TGeoManager::fPaintVolume
TGeoVolume * fPaintVolume
Definition: TGeoManager.h:138
TGeoManager::fTopNode
TGeoNode * fTopNode
top level volume in geometry
Definition: TGeoManager.h:130
TGeoManager::OptimizeVoxels
void OptimizeVoxels(const char *filename="tgeovox.C")
Optimize voxelization type for all volumes. Save best choice in a macro.
Definition: TGeoManager.cxx:2271
TGeoManager::CheckPoint
void CheckPoint(Double_t x=0, Double_t y=0, Double_t z=0, Option_t *option="")
Classify a given point. See TGeoChecker::CheckPoint().
Definition: TGeoManager.cxx:3507
TGeoManager::Test
void Test(Int_t npoints=1000000, Option_t *option="")
Check time of finding "Where am I" for n points.
Definition: TGeoManager.cxx:1770
TGeoManager::MakeEltu
TGeoVolume * MakeEltu(const char *name, TGeoMedium *medium, Double_t a, Double_t b, Double_t dz)
Make in one step a volume pointing to a tube shape with given medium.
Definition: TGeoManager.cxx:2976
TGeoManager::GetGLMatrix
TGeoHMatrix * GetGLMatrix() const
Definition: TGeoManager.h:517
TGeoNavigator::GetCurrentNode
TGeoNode * GetCurrentNode() const
Definition: TGeoNavigator.h:158
TGeoManager::GetCurrentTrack
TVirtualGeoTrack * GetCurrentTrack()
Definition: TGeoManager.h:395
TGeoManager::fPhimin
Double_t fPhimin
Definition: TGeoManager.h:66
TGeoPNEntry
The knowledge of the path to the objects that need to be misaligned is essential since there is no ot...
Definition: TGeoPhysicalNode.h:104
TGeoManager::LocalToMasterBomb
void LocalToMasterBomb(const Double_t *local, Double_t *master) const
Definition: TGeoManager.h:545
TGeoNavigator::SetCldirChecked
void SetCldirChecked(Double_t *dir)
Definition: TGeoNavigator.h:180
TGeoManager::GetTrack
TVirtualGeoTrack * GetTrack(Int_t index)
Definition: TGeoManager.h:398
TGeoManager::MakeSphere
TGeoVolume * MakeSphere(const char *name, TGeoMedium *medium, Double_t rmin, Double_t rmax, Double_t themin=0, Double_t themax=180, Double_t phimin=0, Double_t phimax=360)
Make in one step a volume pointing to a sphere shape with given medium.
Definition: TGeoManager.cxx:2937
TGeoManager::fPhiCut
Bool_t fPhiCut
flag to notify that the manager is being destructed
Definition: TGeoManager.h:88
TGeoManager::ModifiedPad
void ModifiedPad() const
Send "Modified" signal to painter.
Definition: TGeoManager.cxx:2900
TGeoManager::SetBombFactors
void SetBombFactors(Double_t bombx=1.3, Double_t bomby=1.3, Double_t bombz=1.3, Double_t bombr=1.3)
Set factors that will "bomb" all translations in cartesian and cylindrical coordinates.
Definition: TGeoManager.cxx:2159
TGeoManager::fIsGeomReading
Bool_t fIsGeomReading
Definition: TGeoManager.h:86
TGeoManager::SetCldirChecked
void SetCldirChecked(Double_t *dir)
Definition: TGeoManager.h:540
TGeoManager::fVisLevel
Int_t fVisLevel
Definition: TGeoManager.h:76
TGeoNavigator::PopPoint
Bool_t PopPoint()
Definition: TGeoNavigator.h:200
TGeoManager::fgLock
static Bool_t fgLock
mutex for navigator booking in MT mode
Definition: TGeoManager.h:54
TGeoNavigator::IsNullStep
Bool_t IsNullStep() const
Definition: TGeoNavigator.h:145
TGeoManager::GetListOfSkinSurfaces
TObjArray * GetListOfSkinSurfaces() const
Definition: TGeoManager.h:501
y
Double_t y[n]
Definition: legend1.C:17
TGeoNavigator::LocalToMasterVect
void LocalToMasterVect(const Double_t *local, Double_t *master) const
Definition: TGeoNavigator.h:186
TGeoManager::GetListOfUVolumes
TObjArray * GetListOfUVolumes() const
Definition: TGeoManager.h:497
TGeoManager::MakeHype
TGeoVolume * MakeHype(const char *name, TGeoMedium *medium, Double_t rin, Double_t stin, Double_t rout, Double_t stout, Double_t dz)
Make in one step a volume pointing to a tube shape with given medium.
Definition: TGeoManager.cxx:2985
ULong_t
unsigned long ULong_t
Definition: RtypesCore.h:55
TGeoManager::fCurrentTrack
TVirtualGeoTrack * fCurrentTrack
Definition: TGeoManager.h:80
TGeoManager::SetMatrixReflection
void SetMatrixReflection(Bool_t flag=kTRUE)
Definition: TGeoManager.h:421
TGeoManager::fParticleName
TString fParticleName
path to current node
Definition: TGeoManager.h:72
TGeoManager::GetStackLevel
Int_t GetStackLevel() const
Definition: TGeoManager.h:530
TGeoManager::GetHMatrix
TGeoHMatrix * GetHMatrix()
Return stored current matrix (global matrix of the next touched node).
Definition: TGeoManager.cxx:1963
TGeoManager::MakeTorus
TGeoVolume * MakeTorus(const char *name, TGeoMedium *medium, Double_t r, Double_t rmin, Double_t rmax, Double_t phi1=0, Double_t dphi=360)
Make in one step a volume pointing to a torus shape with given medium.
Definition: TGeoManager.cxx:2947
TGeoNavigator::PushPoint
Int_t PushPoint(Int_t startlevel=0)
Definition: TGeoNavigator.h:199
TGeoNavigator.h
TGeoManager::fActivity
Bool_t fActivity
flag for GL reflections
Definition: TGeoManager.h:93
TGeoNavigator::IsStartSafe
Bool_t IsStartSafe() const
Definition: TGeoNavigator.h:134
TGeoManager::SelectTrackingMedia
void SelectTrackingMedia()
Define different tracking media.
Definition: TGeoManager.cxx:3445
TGeoManager::fOverlaps
TObjArray * fOverlaps
Definition: TGeoManager.h:112
TGeoManager::ResetState
void ResetState()
Reset current state flags.
Definition: TGeoManager.cxx:2552
TGeoManager::GetMaterial
TGeoMaterial * GetMaterial(const char *matname) const
Search for a named material. All trailing blanks stripped.
Definition: TGeoManager.cxx:2771
TGeoManager::IsMatrixReflection
Bool_t IsMatrixReflection() const
Definition: TGeoManager.h:413
TGeoManager::IsOnBoundary
Bool_t IsOnBoundary() const
Definition: TGeoManager.h:429
TGeoNavigator::GetLevel
Int_t GetLevel() const
Definition: TGeoNavigator.h:168
TGeoManager::GetLastTrack
TVirtualGeoTrack * GetLastTrack()
Definition: TGeoManager.h:396
TGeoNavigator::GetCldir
const Double_t * GetCldir() const
Definition: TGeoNavigator.h:164
TGeoManager::fParallelWorld
TGeoParallelWorld * fParallelWorld
Definition: TGeoManager.h:152
TGeoManager::Edit
virtual void Edit(Option_t *option="")
Append a pad for this geometry.
Definition: TGeoManager.cxx:944
TGeoNavigator::IsCheckingOverlaps
Bool_t IsCheckingOverlaps() const
Definition: TGeoNavigator.h:137
unsigned int
TGeoManager::fVisOption
Int_t fVisOption
Definition: TGeoManager.h:75
TGeoManager::fSizePNEId
Int_t fSizePNEId
array of physical node entries
Definition: TGeoManager.h:144
TGeoManager::fMasterVolume
TGeoVolume * fMasterVolume
top physical node
Definition: TGeoManager.h:131
TGDMLMatrix
This class is used in the process of reading and writing the GDML "matrix" tag.
Definition: TGDMLMatrix.h:34
TGeoManager::SaveAttributes
void SaveAttributes(const char *filename="tgeoatt.C")
Save current attributes in a macro.
Definition: TGeoManager.cxx:2438
TGeoManager::fBorderSurfaces
TObjArray * fBorderSurfaces
Definition: TGeoManager.h:108
TGeoManager::RandomRays
void RandomRays(Int_t nrays=1000, Double_t startx=0, Double_t starty=0, Double_t startz=0, const char *target_vol=0, Bool_t check_norm=kFALSE)
Randomly shoot nrays and plot intersections with surfaces for current top node.
Definition: TGeoManager.cxx:2835
TGeoManager::Matrix
void Matrix(Int_t index, Double_t theta1, Double_t phi1, Double_t theta2, Double_t phi2, Double_t theta3, Double_t phi3)
Create rotation matrix named 'mat<index>'.
Definition: TGeoManager.cxx:1153
TGeoManager::Safety
Double_t Safety(Bool_t inside=kFALSE)
Compute safe distance from the current point.
Definition: TGeoManager.cxx:2115
TGeoManager::fgExportPrecision
static UInt_t fgExportPrecision
Maximum number of Xtru vertices.
Definition: TGeoManager.h:59
TGeoManager::DisableInactiveVolumes
void DisableInactiveVolumes()
Definition: TGeoManager.h:390
TGeoManager::fSkinSurfaces
TObjArray * fSkinSurfaces
Definition: TGeoManager.h:107
TGeoManager::GetListOfBorderSurfaces
TObjArray * GetListOfBorderSurfaces() const
Definition: TGeoManager.h:502
TGeoManager::GetNtracks
Int_t GetNtracks() const
Definition: TGeoManager.h:394
TGeoManager::SetParticleName
void SetParticleName(const char *pname)
Definition: TGeoManager.h:262
TGeoManager::GetNNodes
Int_t GetNNodes()
Definition: TGeoManager.h:577
TGeoManager::GetLevel
Int_t GetLevel() const
Definition: TGeoManager.h:527
TGeoManager::LocalToMasterVect
void LocalToMasterVect(const Double_t *local, Double_t *master) const
Definition: TGeoManager.h:544
TGeoManager::GetCurrentPoint
const Double_t * GetCurrentPoint() const
Definition: TGeoManager.h:521
TGeoManager::GetMotherMatrix
TGeoHMatrix * GetMotherMatrix(Int_t up=1) const
Definition: TGeoManager.h:514
TGeoManager::CdDown
void CdDown(Int_t index)
Make a daughter of current node current.
Definition: TGeoManager.cxx:1536
TGeoManager::PrintOverlaps
void PrintOverlaps() const
Prints the current list of overlaps.
Definition: TGeoManager.cxx:3612
TGeoManager::TransformVolumeToAssembly
Int_t TransformVolumeToAssembly(const char *vname)
Transform all volumes named VNAME to assemblies. The volumes must be virtual.
Definition: TGeoManager.cxx:1083
TGeoManager::AddGDMLMatrix
void AddGDMLMatrix(TGDMLMatrix *mat)
Add GDML matrix;.
Definition: TGeoManager.cxx:1834
TGeoManager::fGLMatrix
TGeoHMatrix * fGLMatrix
Definition: TGeoManager.h:132
TGeoManager::FindNextBoundaryAndStep
TGeoNode * FindNextBoundaryAndStep(Double_t stepmax=TGeoShape::Big(), Bool_t compsafe=kFALSE)
Compute distance to next boundary within STEPMAX.
Definition: TGeoManager.cxx:2514
TGeoManager::kG4Units
@ kG4Units
Definition: TGeoManager.h:48
TGeoNavigator::MasterToLocal
void MasterToLocal(const Double_t *master, Double_t *local) const
Definition: TGeoNavigator.h:188
TGeoManager::fHashPNE
THashList * fHashPNE
hash list of group volumes providing fast search
Definition: TGeoManager.h:142
TGeoManager::GetListOfGShapes
TObjArray * GetListOfGShapes() const
Definition: TGeoManager.h:496
TGeoManager::SetAnimateTracks
void SetAnimateTracks(Bool_t flag=kTRUE)
Definition: TGeoManager.h:580
TGeoManager::GetDefaultUnits
static EDefaultUnits GetDefaultUnits()
Definition: TGeoManager.cxx:4009
TGeoManager::GetPath
const char * GetPath() const
Get path to the current node in the form /node0/node1/...
Definition: TGeoManager.cxx:2655
TGeoManager::SetNavigatorsLock
static void SetNavigatorsLock(Bool_t flag)
Set the lock for navigators.
Definition: TGeoManager.cxx:790
TGeoManager::fgMaxLevel
static Int_t fgMaxLevel
Verbosity level for Info messages (no IO).
Definition: TGeoManager.h:56
TGeoNavigator::SetLastPoint
void SetLastPoint(Double_t x, Double_t y, Double_t z)
Definition: TGeoNavigator.h:174
TGeoManager::SetStartSafe
void SetStartSafe(Bool_t flag=kTRUE)
Definition: TGeoManager.h:419
TGeoNavigator
Class providing navigation API for TGeo geometries.
Definition: TGeoNavigator.h:34
TGeoRegion
Regions are groups of volumes having a common set of user tracking cuts.
Definition: TGeoRegion.h:36
TVirtualGeoPainter
Abstract class for geometry painters.
Definition: TVirtualGeoPainter.h:32
Double_t
double Double_t
Definition: RtypesCore.h:59
TGeoManager::GetMaxDaughters
static Int_t GetMaxDaughters()
Return maximum number of daughters of a volume used in the geometry.
Definition: TGeoManager.cxx:1931
TGeoMatrix
Geometrical transformation package.
Definition: TGeoMatrix.h:41
TGeoBorderSurface
Definition: TGeoOpticalSurface.h:191
TGeoManager::fMaxVisNodes
Int_t fMaxVisNodes
Definition: TGeoManager.h:79
TGeoNavigator::PushPath
Int_t PushPath(Int_t startlevel=0)
Definition: TGeoNavigator.h:196
TGeoManager::EnableInactiveVolumes
void EnableInactiveVolumes()
Definition: TGeoManager.h:391
TGeoNavigator::IsEntering
Bool_t IsEntering() const
Definition: TGeoNavigator.h:139
TGeoManager::MakeCons
TGeoVolume * MakeCons(const char *name, TGeoMedium *medium, Double_t dz, Double_t rmin1, Double_t rmax1, Double_t rmin2, Double_t rmax2, Double_t phi1, Double_t phi2)
Make in one step a volume pointing to a cone segment shape with given medium.
Definition: TGeoManager.cxx:3023
TGeoManager::MakeVolumeMulti
TGeoVolumeMulti * MakeVolumeMulti(const char *name, TGeoMedium *medium)
Make a TGeoVolumeMulti handling a list of volumes.
Definition: TGeoManager.cxx:3308
TGeoManager::fMatrixReflection
Bool_t fMatrixReflection
flag for using GL matrix
Definition: TGeoManager.h:92
TGeoManager::GetCurrentDirection
const Double_t * GetCurrentDirection() const
Definition: TGeoManager.h:522
TGeoManager::GetNextNode
TGeoNode * GetNextNode() const
Definition: TGeoManager.h:512
TGeoManager::SetAllIndex
void SetAllIndex()
Assigns uid's for all materials,media and matrices.
Definition: TGeoManager.cxx:1293
TGeoManager::fNtracks
Int_t fNtracks
Definition: TGeoManager.h:78
TObjArray.h
TGeoManager::GetListOfGVolumes
TObjArray * GetListOfGVolumes() const
Definition: TGeoManager.h:494
TGeoManager::SetVerboseLevel
static void SetVerboseLevel(Int_t vl)
Return current verbosity level (static function).
Definition: TGeoManager.cxx:3795
TGeoNavigator::SetStep
void SetStep(Double_t step)
Definition: TGeoNavigator.h:136
TGeoManager::GetListOfMedia
TList * GetListOfMedia() const
Definition: TGeoManager.h:492
TGeoManager::IsNullStep
Bool_t IsNullStep() const
Definition: TGeoManager.h:430
TGeoManager::SetMaxVisNodes
void SetMaxVisNodes(Int_t maxnodes=10000)
set the maximum number of visible nodes.
Definition: TGeoManager.cxx:2180
TGeoManager::SetClippingShape
void SetClippingShape(TGeoShape *clip)
Set a user-defined shape as clipping for ray tracing.
Definition: TGeoManager.cxx:2167
TGeoManager::SamplePoints
TGeoNode * SamplePoints(Int_t npoints, Double_t &dist, Double_t epsil=1E-5, const char *g3path="")
shoot npoints randomly in a box of 1E-5 around current point.
Definition: TGeoManager.cxx:3388
TGeoManager::ResetUserData
void ResetUserData()
Sets all pointers TGeoVolume::fField to NULL.
Definition: TGeoManager.cxx:2853
TGeoVolumeMulti
Volume families.
Definition: TGeoVolume.h:254
TGeoManager::InspectState
void InspectState() const
Inspects path and all flags for the current state.
Definition: TGeoManager.cxx:2647
TGeoManager::GetListOfOpticalSurfaces
TObjArray * GetListOfOpticalSurfaces() const
Definition: TGeoManager.h:500
TGeoManager::MakeParaboloid
TGeoVolume * MakeParaboloid(const char *name, TGeoMedium *medium, Double_t rlo, Double_t rhi, Double_t dz)
Make in one step a volume pointing to a tube shape with given medium.
Definition: TGeoManager.cxx:2994
TGeoManager::GetBranchNumbers
void GetBranchNumbers(Int_t *copyNumbers, Int_t *volumeNumbers) const
Fill node copy numbers of current branch into an array.
Definition: TGeoManager.cxx:1903
TGeoManager::GetListOfNavigators
TGeoNavigatorArray * GetListOfNavigators() const
Get list of navigators for the calling thread.
Definition: TGeoManager.cxx:755
TGeoNavigator::GetNodeId
Int_t GetNodeId() const
Definition: TGeoNavigator.h:151
TGeoManager::GetListOfTracks
TObjArray * GetListOfTracks() const
Definition: TGeoManager.h:498
TGeoManager::GetNregions
int GetNregions() const
Definition: TGeoManager.h:574
UChar_t
unsigned char UChar_t
Definition: RtypesCore.h:38
TGeoManager::Import
static TGeoManager * Import(const char *filename, const char *name="", Option_t *option="")
static function Import a geometry from a gdml or ROOT file
Definition: TGeoManager.cxx:3817
TGeoManager::BombTranslation
void BombTranslation(const Double_t *tr, Double_t *bombtr)
Get the new 'bombed' translation vector according current exploded view mode.
Definition: TGeoManager.cxx:969
TGeoManager::GetNAlignable
Int_t GetNAlignable(Bool_t with_uid=kFALSE) const
Retrieves number of PN entries with or without UID.
Definition: TGeoManager.cxx:3157
TGeoManager::SetCurrentTrack
void SetCurrentTrack(TVirtualGeoTrack *track)
Definition: TGeoManager.h:393
TMVA::DNN::forward
void forward(const LAYERDATA &prevLayerData, LAYERDATA &currLayerData)
apply the weights (and functions) in forward direction of the DNN
Definition: NeuralNet.icc:546
TObject
Mother of all ROOT objects.
Definition: TObject.h:37
TGeoManager::AddTrack
Int_t AddTrack(Int_t id, Int_t pdgcode, TObject *particle=0)
Add a track to the list of tracks.
Definition: TGeoManager.cxx:642
ClassDef
#define ClassDef(name, id)
Definition: Rtypes.h:325
TGeoManager::SetCurrentTrack
void SetCurrentTrack(Int_t i)
Definition: TGeoManager.h:392
TGeoManager::SetDefaultG4Units
static void SetDefaultG4Units()
Definition: TGeoManager.h:480
TGeoManager::GetPainter
TVirtualGeoPainter * GetPainter() const
Definition: TGeoManager.h:213
TGeoManager::GetSafeDistance
Double_t GetSafeDistance() const
Definition: TGeoManager.h:406
TGeoManager::MakeGtra
TGeoVolume * MakeGtra(const char *name, TGeoMedium *medium, Double_t dz, Double_t theta, Double_t phi, Double_t twist, Double_t h1, Double_t bl1, Double_t tl1, Double_t alpha1, Double_t h2, Double_t bl2, Double_t tl2, Double_t alpha2)
Make in one step a volume pointing to a twisted trapezoid shape with given medium.
Definition: TGeoManager.cxx:3082
TGeoManager::CreateThreadData
void CreateThreadData() const
Create thread private data for all geometry objects.
Definition: TGeoManager.cxx:877
TGeoNavigator::GetNextNode
TGeoNode * GetNextNode() const
Definition: TGeoNavigator.h:153
TGeoManager::GetNproperties
Int_t GetNproperties() const
Definition: TGeoManager.h:182
TGeoManager::TGeoManager
TGeoManager(const TGeoManager &)=delete
Default units in GDML if not explicit in some tags.
TGeoManager::MakeAlignablePN
TGeoPhysicalNode * MakeAlignablePN(const char *name)
Make a physical node from the path pointed by an alignable object with a given name.
Definition: TGeoManager.cxx:3224
TGeoManager::GetNodeId
Int_t GetNodeId() const
Definition: TGeoManager.h:511
name
char name[80]
Definition: TGX11.cxx:110
TGeoManager::Init
void Init()
Initialize manager class.
Definition: TGeoManager.cxx:409
TGeoNavigator::GetMother
TGeoNode * GetMother(Int_t up=1) const
Definition: TGeoNavigator.h:154
TGeoNavigator::SetCurrentPoint
void SetCurrentPoint(const Double_t *point)
Definition: TGeoNavigator.h:171
TGeoManager::GetMedium
TGeoMedium * GetMedium(const char *medium) const
Search for a named tracking medium. All trailing blanks stripped.
Definition: TGeoManager.cxx:2782
TGeoManager::GetElementTable
TGeoElementTable * GetElementTable()
Returns material table. Creates it if not existing.
Definition: TGeoManager.cxx:3366
TGeoManager::Material
TGeoMaterial * Material(const char *name, Double_t a, Double_t z, Double_t dens, Int_t uid, Double_t radlen=0, Double_t intlen=0)
Create material with given A, Z and density, having an unique id.
Definition: TGeoManager.cxx:1163
TGeoManager::fPhimax
Double_t fPhimax
lowest range for phi cut
Definition: TGeoManager.h:67
TGeoManager::fTmin
Double_t fTmin
highest range for phi cut
Definition: TGeoManager.h:68
TGeoManager::TestOverlaps
void TestOverlaps(const char *path="")
Geometry overlap checker based on sampling.
Definition: TGeoManager.cxx:1778
TGeoManager::GetNmany
Int_t GetNmany() const
Definition: TGeoManager.h:199
TGeoManager::IsMultiThread
Bool_t IsMultiThread() const
Definition: TGeoManager.h:462
TGeoManager::fgMutex
static std::mutex fgMutex
Definition: TGeoManager.h:53
TGeoManager::GetLastSafety
Double_t GetLastSafety() const
Definition: TGeoManager.h:407
TGeoManager::GetPdgName
const char * GetPdgName(Int_t pdg) const
Get name for given pdg code;.
Definition: TGeoManager.cxx:1794
TGeoManager::fNLevel
Int_t fNLevel
table of elements
Definition: TGeoManager.h:137
TGeoNavigator::GetStep
Double_t GetStep() const
Definition: TGeoNavigator.h:127
TGeoManager::IsLoopingVolumes
Bool_t IsLoopingVolumes() const
Definition: TGeoManager.h:155
TGeoManager::GetSafeLevel
Int_t GetSafeLevel() const
Go upwards the tree until a non-overlapping node.
Definition: TGeoManager.cxx:2069
TGeoManager::fGShapes
TObjArray * fGShapes
Definition: TGeoManager.h:101
TGeoManager::fPdgId
Int_t fPdgId[1024]
Definition: TGeoManager.h:82
TGeoManager::InsertPNEId
Bool_t InsertPNEId(Int_t uid, Int_t ientry)
Insert a PN entry in the sorted array of indexes.
Definition: TGeoManager.cxx:3167
TGeoManager::GetVerboseLevel
static Int_t GetVerboseLevel()
Set verbosity level (static function).
Definition: TGeoManager.cxx:3787
TGeoManager::MakeTubs
TGeoVolume * MakeTubs(const char *name, TGeoMedium *medium, Double_t rmin, Double_t rmax, Double_t dz, Double_t phi1, Double_t phi2)
Make in one step a volume pointing to a tube segment shape with given medium.
Definition: TGeoManager.cxx:2966
R__EXTERN
#define R__EXTERN
Definition: DllImport.h:27
TGeoManager::ThreadsMapIt_t
ThreadsMap_t::const_iterator ThreadsMapIt_t
Definition: TGeoManager.h:119
TGeoManager::IsFolder
Bool_t IsFolder() const
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
Definition: TGeoManager.h:202
TGeoManager::FindDuplicateMaterial
TGeoMaterial * FindDuplicateMaterial(const TGeoMaterial *mat) const
Find if a given material duplicates an existing one.
Definition: TGeoManager.cxx:2755
TGeoManager::ViewLeaves
void ViewLeaves(Bool_t flag=kTRUE)
Set visualization option (leaves only OR all volumes)
Definition: TGeoManager.cxx:2229
TGeoManager::Volume
TGeoVolume * Volume(const char *name, const char *shape, Int_t nmed, Float_t *upar, Int_t npar=0)
Create a volume in GEANT3 style.
Definition: TGeoManager.cxx:1270
TGeoManager::GetMaxLevel
Int_t GetMaxLevel() const
Definition: TGeoManager.h:528
TGeoManager::SetCurrentPoint
void SetCurrentPoint(Double_t x, Double_t y, Double_t z)
Definition: TGeoManager.h:536
TGeoManager::GetTopNode
TGeoNode * GetTopNode() const
Definition: TGeoManager.h:533
TGeoManager::fPainter
TVirtualGeoPainter * fPainter
flag that nodes are the selected objects in pad rather than volumes
Definition: TGeoManager.h:95
TGeoManager::fIsGeomCleaning
Bool_t fIsGeomCleaning
flag set when reading geometry
Definition: TGeoManager.h:87
TGeoManager::Medium
TGeoMedium * Medium(const char *name, Int_t numed, Int_t nmat, Int_t isvol, Int_t ifield, Double_t fieldm, Double_t tmaxfd, Double_t stemax, Double_t deemax, Double_t epsil, Double_t stmin)
Create tracking medium.
Definition: TGeoManager.cxx:1209
TGeoManager::IsExiting
Bool_t IsExiting() const
Definition: TGeoManager.h:425
TGeoManager::MasterToLocal
void MasterToLocal(const Double_t *master, Double_t *local) const
Definition: TGeoManager.h:546
TGeoManager::fNavigators
NavigatorsMap_t fNavigators
Definition: TGeoManager.h:123
TGeoManager::IsCurrentOverlapping
Bool_t IsCurrentOverlapping() const
Definition: TGeoManager.h:423
TGeoMedium
Media are used to store properties related to tracking and which are useful only when using geometry ...
Definition: TGeoMedium.h:24
TGeoManager::fMaterials
TList * fMaterials
Definition: TGeoManager.h:109
TGeoManager::SetRTmode
void SetRTmode(Int_t mode)
Change raytracing mode.
Definition: TGeoManager.cxx:2863
TGeoManager::SizeOf
virtual ULong_t SizeOf(const TGeoNode *node, Option_t *option)
computes the total size in bytes of the branch starting with node.
Definition: TGeoManager.cxx:3653
TGeoManager::fValuePNEId
Int_t * fValuePNEId
Definition: TGeoManager.h:147
TGeoNavigator::IsOutside
Bool_t IsOutside() const
Definition: TGeoNavigator.h:143
TGeoManager::fIsNodeSelectable
Bool_t fIsNodeSelectable
switch ON/OFF volume activity (default OFF - all volumes active))
Definition: TGeoManager.h:94
TGeoShape::Big
static Double_t Big()
Definition: TGeoShape.h:88
TGeoManager::GetRegion
TGeoRegion * GetRegion(int i)
Definition: TGeoManager.h:575
TGeoManager::fStreamVoxels
Bool_t fStreamVoxels
flag volume lists loop
Definition: TGeoManager.h:85
TVirtualGeoTrack
Base class for user-defined tracks attached to a geometry.
Definition: TVirtualGeoTrack.h:27
TGeoManager::Parse
static Int_t Parse(const char *expr, TString &expr1, TString &expr2, TString &expr3)
Parse a string boolean expression and do a syntax check.
Definition: TGeoManager.cxx:2325
TGeoManager::TGeoManager
TGeoManager()
Default constructor.
Definition: TGeoManager.cxx:308
TGeoNavigator::IsStepEntering
Bool_t IsStepEntering() const
Definition: TGeoNavigator.h:141
TGeoManager::SetUserPaintVolume
void SetUserPaintVolume(TGeoVolume *vol)
Definition: TGeoManager.h:238
TGeoManager::MakeTrack
TVirtualGeoTrack * MakeTrack(Int_t id, Int_t pdgcode, TObject *particle)
Makes a primary track but do not attach it to the list of tracks.
Definition: TGeoManager.cxx:663
TGeoManager::GetTrackOfId
TVirtualGeoTrack * GetTrackOfId(Int_t id) const
Get track with a given ID.
Definition: TGeoManager.cxx:2021
TGeoManager::CdNode
void CdNode(Int_t nodeid)
Change current path to point to the node having this id.
Definition: TGeoManager.cxx:1501
TGeoManager::GetListOfShapes
TObjArray * GetListOfShapes() const
Definition: TGeoManager.h:495
TGeoManager::GetListOfMatrices
TObjArray * GetListOfMatrices() const
Definition: TGeoManager.h:490
TGeoNavigator::GetLastSafety
Double_t GetLastSafety() const
Definition: TGeoNavigator.h:126
TGeoManager::SetVolumeAttribute
void SetVolumeAttribute(const char *name, const char *att, Int_t val)
Set volume attributes in G3 style.
Definition: TGeoManager.cxx:2123
TGeoManager::fClippingShape
TGeoShape * fClippingShape
Definition: TGeoManager.h:134
TGeoManager::SetPdgName
void SetPdgName(Int_t pdg, const char *name)
Set a name for a particle having a given pdg.
Definition: TGeoManager.cxx:1807
TGeoManager::GetVolume
TGeoVolume * GetVolume(Int_t uid) const
Definition: TGeoManager.h:573
TGeoManager::GetOpticalSurface
TGeoOpticalSurface * GetOpticalSurface(const char *name) const
Get optical surface with a given name;.
Definition: TGeoManager.cxx:1846
TGeoManager
The manager class for any TGeo geometry.
Definition: TGeoManager.h:45
TGeoManager::AddShape
Int_t AddShape(const TGeoShape *shape)
Add a shape to the list. Returns index of the shape in list.
Definition: TGeoManager.cxx:632
TGeoManager::fCurrentVolume
TGeoVolume * fCurrentVolume
current navigator
Definition: TGeoManager.h:128
TGeoOpticalSurface
Definition: TGeoOpticalSurface.h:27
TGeoManager::CleanGarbage
void CleanGarbage()
Clean temporary volumes and shapes from garbage collection.
Definition: TGeoManager.cxx:1475
TGeoManager::fNNodes
Int_t fNNodes
upper time limit for tracks drawing
Definition: TGeoManager.h:70
TGeoManager::ClearShape
void ClearShape(const TGeoShape *shape)
Remove a shape from the list of shapes.
Definition: TGeoManager.cxx:1466
TGeoNavigator::GetSafeDistance
Double_t GetSafeDistance() const
Definition: TGeoNavigator.h:125
TGeoManager::GetAlignableEntryByUID
TGeoPNEntry * GetAlignableEntryByUID(Int_t uid) const
Retrieves an existing alignable object having a preset UID.
Definition: TGeoManager.cxx:3146
TGeoManager::SetCheckingOverlaps
void SetCheckingOverlaps(Bool_t flag=kTRUE)
Definition: TGeoManager.h:418
TGeoManager::GetProperty
Double_t GetProperty(const char *name, Bool_t *error=nullptr) const
Get a user-defined property.
Definition: TGeoManager.cxx:592
TGeoManager::fPhysicalNodes
TObjArray * fPhysicalNodes
Definition: TGeoManager.h:100
TGeoManager::Browse
void Browse(TBrowser *b)
Describe how to browse this object.
Definition: TGeoManager.cxx:925
TGeoManager::MakeTube
TGeoVolume * MakeTube(const char *name, TGeoMedium *medium, Double_t rmin, Double_t rmax, Double_t dz)
Make in one step a volume pointing to a tube shape with given medium.
Definition: TGeoManager.cxx:2956
TGeoManager::fTracks
TObjArray * fTracks
list of runtime volumes
Definition: TGeoManager.h:103
TGeoManager::ConvertReflections
void ConvertReflections()
Convert all reflections in geometry to normal rotations + reflected shapes.
Definition: TGeoManager.cxx:1569
TMath::E
constexpr Double_t E()
Base of natural log:
Definition: TMath.h:96
TGeoNavigator::GetLastPoint
const Double_t * GetLastPoint() const
Definition: TGeoNavigator.h:121
TGeoManager::SetNodeSelectable
void SetNodeSelectable(Bool_t flag=kTRUE)
Definition: TGeoManager.h:242
TGeoVolume
TGeoVolume, TGeoVolumeMulti, TGeoVolumeAssembly are the volume classes.
Definition: TGeoVolume.h:49
TGeoManager::GetBombFactors
void GetBombFactors(Double_t &bombx, Double_t &bomby, Double_t &bombz, Double_t &bombr) const
Retrieve cartesian and radial bomb factors.
Definition: TGeoManager.cxx:1919
TGeoManager::MakeXtru
TGeoVolume * MakeXtru(const char *name, TGeoMedium *medium, Int_t nz)
Make a TGeoXtru-shaped volume with nz planes.
Definition: TGeoManager.cxx:3093
TGeoManager::SetLoopVolumes
void SetLoopVolumes(Bool_t flag=kTRUE)
Definition: TGeoManager.h:159
TGeoManager::GetMaxThreads
Int_t GetMaxThreads() const
Definition: TGeoManager.h:458
TGeoVolumeAssembly
Volume assemblies.
Definition: TGeoVolume.h:303
TGeoManager::IsOutside
Bool_t IsOutside() const
Definition: TGeoManager.h:428
TGeoManager::GetBombMode
Int_t GetBombMode() const
Definition: TGeoManager.h:214
TGeoManager::IsSamePoint
Bool_t IsSamePoint(Double_t x, Double_t y, Double_t z) const
Check if a new point with given coordinates is the same as the last located one.
Definition: TGeoManager.cxx:2604
TGeoManager::ClearTracks
void ClearTracks()
Definition: TGeoManager.h:438
TGeoManager::GetMaterialIndex
Int_t GetMaterialIndex(const char *matname) const
Return index of named material.
Definition: TGeoManager.cxx:2816
TGeoManager::GetMasterVolume
TGeoVolume * GetMasterVolume() const
Definition: TGeoManager.h:531
TGeoManager::GotoSafeLevel
Bool_t GotoSafeLevel()
Go upwards the tree until a non-overlapping node.
Definition: TGeoManager.cxx:2061
TList
A doubly linked list.
Definition: TList.h:44
TGeoManager::LockGeometry
static void LockGeometry()
Lock current geometry so that no other geometry can be imported.
Definition: TGeoManager.cxx:3761
TGeoManager::GetParentTrackOfId
TVirtualGeoTrack * GetParentTrackOfId(Int_t id) const
Get parent track with a given ID.
Definition: TGeoManager.cxx:2035
TGeoManager::GetGDMLMatrix
TGDMLMatrix * GetGDMLMatrix(const char *name) const
Get GDML matrix with a given name;.
Definition: TGeoManager.cxx:1827
TGeoManager::DrawPath
void DrawPath(const char *path, Option_t *option="")
Draw current path.
Definition: TGeoManager.cxx:1752
TGeoManager::CheckOverlaps
void CheckOverlaps(Double_t ovlp=0.1, Option_t *option="")
Check all geometry for illegal overlaps within a limit OVLP.
Definition: TGeoManager.cxx:3600
int
TGeoNavigator::SetCurrentDirection
void SetCurrentDirection(const Double_t *dir)
Definition: TGeoNavigator.h:176
TGeoManager::~TGeoManager
virtual ~TGeoManager()
Destructor.
Definition: TGeoManager.cxx:496
TGeoManager::GetStep
Double_t GetStep() const
Definition: TGeoManager.h:408
TGeoNavigator::SetOutside
void SetOutside(Bool_t flag=kTRUE)
Definition: TGeoNavigator.h:147
TGeoManager::RandomPoints
void RandomPoints(const TGeoVolume *vol, Int_t npoints=10000, Option_t *option="")
Draw random points in the bounding box of a volume.
Definition: TGeoManager.cxx:1762
TGeoSkinSurface
Definition: TGeoOpticalSurface.h:162
TGeoManager::AddProperty
Bool_t AddProperty(const char *property, Double_t value)
Add a user-defined property. Returns true if added, false if existing.
Definition: TGeoManager.cxx:579
TGeoManager::DefaultColors
void DefaultColors()
Set default volume colors according to A of material.
Definition: TGeoManager.cxx:2077
TGeoManager::GetTrackIndex
Int_t GetTrackIndex(Int_t id) const
Get index for track id, -1 if not found.
Definition: TGeoManager.cxx:2047
TGeoManager::MakePcon
TGeoVolume * MakePcon(const char *name, TGeoMedium *medium, Double_t phi, Double_t dphi, Int_t nz)
Make in one step a volume pointing to a polycone shape with given medium.
Definition: TGeoManager.cxx:3034
TGeoManager::IsMatrixTransform
Bool_t IsMatrixTransform() const
Definition: TGeoManager.h:412