The manager class for any TGeo geometry.
Provides user interface for geometry creation, navigation, state querying, visualization, IO, geometry checking and other utilities.
The ROOT geometry package is a tool designed for building, browsing, tracking and visualizing a detector geometry. The code is independent from other external MC for simulation, therefore it does not contain any constraints related to physics. However, the package defines a number of hooks for tracking, such as media, materials, magnetic field or track state flags, in order to allow interfacing to tracking MC's. The final goal is to be able to use the same geometry for several purposes, such as tracking, reconstruction or visualization, taking advantage of the ROOT features related to bookkeeping, I/O, histogramming, browsing and GUI's.
The geometrical modeler is the most important component of the package and it provides answers to the basic questions like "Where am I ?" or "How far from the next boundary ?", but also to more complex ones like "How far from the closest surface ?" or "Which is the next crossing along a helix ?".
The architecture of the modeler is a combination between a GEANT-like containment scheme and a normal CSG binary tree at the level of shapes. An important common feature of all detector geometry descriptions is the mother-daughter concept. This is the most natural approach when tracking is concerned and imposes a set of constraints to the way geometry is defined. Constructive solid geometry composition is used only in order to create more complex shapes from an existing set of primitives through boolean operations. This feature is not implemented yet but in future full definition of boolean expressions will be supported.
Practically every geometry defined in GEANT style can be mapped by the modeler. The basic components used for building the logical hierarchy of the geometry are called "volumes" and "nodes". Volumes (sometimes called "solids") are fully defined geometrical objects having a given shape and medium and possibly containing a list of nodes. Nodes represent just positioned instances of volumes inside a container volume and they are not directly defined by user. They are automatically created as a result of adding one volume inside other or dividing a volume. The geometrical transformation hold by nodes is always defined with respect to their mother (relative positioning). Reflection matrices are allowed. All volumes have to be fully aware of their containees when the geometry is closed. They will build additional structures (voxels) in order to fasten-up the search algorithms. Finally, nodes can be regarded as bidirectional links between containers and containees objects.
The structure defined in this way is a graph structure since volumes are replicable (same volume can become daughter node of several other volumes), every volume becoming a branch in this graph. Any volume in the logical graph can become the actual top volume at run time (see TGeoManager::SetTopVolume()). All functionalities of the modeler will behave in this case as if only the corresponding branch starting from this volume is the registered geometry.
A given volume can be positioned several times in the geometry. A volume can be divided according default or user-defined patterns, creating automatically the list of division nodes inside. The elementary volumes created during the dividing process follow the same scheme as usual volumes, therefore it is possible to position further geometrical structures inside or to divide them further more (see TGeoVolume::Divide()).
The primitive shapes supported by the package are basically the GEANT3 shapes (see class TGeoShape), arbitrary wedges with eight vertices on two parallel planes. All basic primitives inherits from class TGeoBBox since the bounding box of a solid is essential for the tracking algorithms. They also implement the virtual methods defined in the virtual class TGeoShape (point and segment classification). User-defined primitives can be directly plugged into the modeler provided that they override these methods. Composite shapes will be soon supported by the modeler. In order to build a TGeoCompositeShape, one will have to define first the primitive components. The object that handle boolean operations among components is called TGeoBoolCombinator and it has to be constructed providing a string boolean expression between the components names.
TGeoManager class is embedding all the API needed for building and tracking a geometry. It defines a global pointer (gGeoManager) in order to be fully accessible from external code. The mechanism of handling multiple geometries at the same time will be soon implemented.
TGeoManager is the owner of all geometry objects defined in a session, therefore users must not try to control their deletion. It contains lists of media, materials, transformations, shapes and volumes. Logical nodes (positioned volumes) are created and destroyed by the TGeoVolume class. Physical nodes and their global transformations are subjected to a caching mechanism due to the sometimes very large memory requirements of logical graph expansion. The caching mechanism is triggered by the total number of physical instances of volumes and the cache manager is a client of TGeoManager. The manager class also controls the painter client. This is linked with ROOT graphical libraries loaded on demand in order to control visualization actions.
A given geometry can be built in various ways, but there are mandatory steps that have to be followed in order to be validated by the modeler. There are general rules : volumes needs media and shapes in order to be created, both container and containee volumes must be created before linking them together, and the relative transformation matrix must be provided. All branches must have an upper link point otherwise they will not be considered as part of the geometry. Visibility or tracking properties of volumes can be provided both at build time or after geometry is closed, but global visualization settings (see TGeoPainter class) should not be provided at build time, otherwise the drawing package will be loaded. There is also a list of specific rules : positioned daughters should not extrude their mother or intersect with sisters unless this is specified (see TGeoVolume::AddNodeOverlap()), the top volume (containing all geometry tree) must be specified before closing the geometry and must not be positioned - it represents the global reference frame. After building the full geometry tree, the geometry must be closed (see TGeoManager::CloseGeometry()). Voxelization can be redone per volume after this process.
Below is the general scheme of the manager class.
Provided that a geometry was successfully built and closed (for instance the previous example $ROOTSYS/tutorials/geom/rootgeom.C ), the manager class will register itself to ROOT and the logical/physical structures will become immediately browsable. The ROOT browser will display starting from the geometry folder : the list of transformations and media, the top volume and the top logical node. These last two can be fully expanded, any intermediate volume/node in the browser being subject of direct access context menu operations (right mouse button click). All user utilities of classes TGeoManager, TGeoVolume and TGeoNode can be called via the context menu.
Any logical volume can be drawn via TGeoVolume::Draw() member function. This can be directly accessed from the context menu of the volume object directly from the browser. There are several drawing options that can be set with TGeoManager::SetVisOption(Int_t opt) method :
only the content of the volume is drawn, N levels down (default N=3). This is the default behavior. The number of levels to be drawn can be changed via TGeoManager::SetVisLevel(Int_t level) method.
the final leaves (e.g. daughters with no containment) of the branch starting from volume are drawn down to the current number of levels. WARNING : This mode is memory consuming depending of the size of geometry, so drawing from top level within this mode should be handled with care for expensive geometries. In future there will be a limitation on the maximum number of nodes to be visualized.
only the clicked volume is visualized. This is automatically set by TGeoVolume::DrawOnly() method
TGeoVolume::DrawPath(const char *path) method
The current view can be exploded in cartesian, cylindrical or spherical coordinates : TGeoManager::SetExplodedView(Int_t opt). Options may be :
Volumes themselves support different visualization settings :
Several checking methods are accessible from the volume context menu. They generally apply only to the visible parts of the drawn geometry in order to ease geometry checking, and their implementation is in the TGeoChecker class from the painting package.
Can be called from TGeoManager::CheckPoint(Double_t x, Double_t y, Double_t z). This method is drawing the daughters of the volume containing the point one level down, printing the path to the deepest physical node holding this point. It also computes the closest distance to any boundary. The point will be drawn in red.
Can be called from TGeoVolume::RandomPoints() (context menu function) and it will draw this volume with current visualization settings. Random points are generated in the bounding box of the top drawn volume. The points are classified and drawn with the color of their deepest container. Only points in visible nodes will be drawn.
Can be called from TGeoVolume::RandomRays() (context menu of volumes) and will shoot rays from a given point in the local reference frame with random directions. The intersections with displayed nodes will appear as segments having the color of the touched node. Drawn geometry will be then made invisible in order to enhance rays.
Definition at line 44 of file TGeoManager.h.
Public Types | |
enum | EDefaultUnits { kG4Units = 0 , kRootUnits = 1 } |
Public Types inherited from TObject | |
enum | { kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 , kBitMask = 0x00ffffff } |
enum | { kSingleKey = BIT(0) , kOverwrite = BIT(1) , kWriteDelete = BIT(2) } |
enum | EDeprecatedStatusBits { kObjInCanvas = BIT(3) } |
enum | EStatusBits { kCanDelete = BIT(0) , kMustCleanup = BIT(3) , kIsReferenced = BIT(4) , kHasUUID = BIT(5) , kCannotPick = BIT(6) , kNoContextMenu = BIT(8) , kInvalidObject = BIT(13) } |
Public Member Functions | |
TGeoManager () | |
Default constructor. | |
TGeoManager (const char *name, const char *title) | |
Constructor. | |
virtual | ~TGeoManager () |
Destructor. | |
void | AddBorderSurface (TGeoBorderSurface *surf) |
Add border surface;. | |
void | AddGDMLMatrix (TGDMLMatrix *mat) |
Add GDML matrix;. | |
Int_t | AddMaterial (const TGeoMaterial *material) |
Add a material to the list. Returns index of the material in list. | |
TGeoNavigator * | AddNavigator () |
Add a navigator in the list of navigators. | |
void | AddOpticalSurface (TGeoOpticalSurface *optsurf) |
Add optical surface;. | |
Int_t | AddOverlap (const TNamed *ovlp) |
Add an illegal overlap/extrusion to the list. | |
Bool_t | AddProperty (const char *property, Double_t value) |
Add a user-defined property. Returns true if added, false if existing. | |
Int_t | AddRegion (TGeoRegion *region) |
Add a new region of volumes. | |
Int_t | AddShape (const TGeoShape *shape) |
Add a shape to the list. Returns index of the shape in list. | |
void | AddSkinSurface (TGeoSkinSurface *surf) |
Add skin surface;. | |
Int_t | AddTrack (Int_t id, Int_t pdgcode, TObject *particle=0) |
Add a track to the list of tracks. | |
Int_t | AddTrack (TVirtualGeoTrack *track) |
Add a track to the list of tracks. | |
Int_t | AddTransformation (const TGeoMatrix *matrix) |
Add a matrix to the list. Returns index of the matrix in list. | |
Int_t | AddVolume (TGeoVolume *volume) |
Add a volume to the list. Returns index of the volume in list. | |
void | AnimateTracks (Double_t tmin=0, Double_t tmax=5E-8, Int_t nframes=200, Option_t *option="/*") |
Draw animation of tracks. | |
void | BombTranslation (const Double_t *tr, Double_t *bombtr) |
Get the new 'bombed' translation vector according current exploded view mode. | |
void | Browse (TBrowser *b) |
Describe how to browse this object. | |
void | BuildDefaultMaterials () |
Now just a shortcut for GetElementTable. | |
virtual Bool_t | cd (const char *path="") |
Browse the tree of nodes starting from fTopNode according to pathname. | |
void | CdDown (Int_t index) |
Make a daughter of current node current. | |
void | CdNext () |
Do a cd to the node found next by FindNextBoundary. | |
void | CdNode (Int_t nodeid) |
Change current path to point to the node having this id. | |
void | CdTop () |
Make top level node the current node. | |
void | CdUp () |
Go one level up in geometry. | |
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 FindNextBoundary. | |
void | CheckBoundaryReference (Int_t icheck=-1) |
Check the boundary errors reference file created by CheckBoundaryErrors method. | |
void | CheckGeometry (Option_t *option="") |
Perform last checks on the geometry. | |
void | CheckGeometryFull (Int_t ntracks=1000000, Double_t vx=0., Double_t vy=0., Double_t vz=0., Option_t *option="ob") |
Geometry checking. | |
void | CheckOverlaps (Double_t ovlp=0.1, Option_t *option="") |
Check all geometry for illegal overlaps within a limit OVLP. | |
Bool_t | CheckPath (const char *path) const |
Check if a geometry path is valid without changing the state of the current navigator. | |
void | CheckPoint (Double_t x=0, Double_t y=0, Double_t z=0, Option_t *option="") |
Classify a given point. See TGeoChecker::CheckPoint(). | |
void | CheckShape (TGeoShape *shape, Int_t testNo, Int_t nsamples, Option_t *option) |
Test for shape navigation methods. | |
void | CleanGarbage () |
Clean temporary volumes and shapes from garbage collection. | |
void | ClearAttributes () |
Reset all attributes to default ones. | |
void | ClearNavigators () |
Clear all navigators. | |
void | ClearOverlaps () |
Clear the list of overlaps. | |
void | ClearPhysicalNodes (Bool_t mustdelete=kFALSE) |
Clear the current list of physical nodes, so that we can start over with a new list. | |
void | ClearShape (const TGeoShape *shape) |
Remove a shape from the list of shapes. | |
void | ClearThreadData () const |
void | ClearTracks () |
void | CloseGeometry (Option_t *option="d") |
Closing geometry implies checking the geometry validity, fixing shapes with negative parameters (run-time shapes)building the cache manager, voxelizing all volumes, counting the total number of physical nodes and registering the manager class to the browser. | |
void | ConvertReflections () |
Convert all reflections in geometry to normal rotations + reflected shapes. | |
void | CountLevels () |
Count maximum number of nodes per volume, maximum depth and maximum number of xtru vertices. | |
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. | |
TGeoParallelWorld * | CreateParallelWorld (const char *name) |
Create a parallel world for prioritised navigation. | |
void | CreateThreadData () const |
Create thread private data for all geometry objects. | |
TGeoNode * | CrossBoundaryAndLocate (Bool_t downwards, TGeoNode *skipnode) |
Cross next boundary and locate within current node The current point must be on the boundary of fCurrentNode. | |
void | DefaultAngles () |
Set default angles for a given view. | |
void | DefaultColors () |
Set default volume colors according to A of material. | |
void | DisableInactiveVolumes () |
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) | |
void | DoBackupState () |
Backup the current state without affecting the cache stack. | |
void | DoRestoreState () |
Restore a backed-up state without affecting the cache stack. | |
void | DrawCurrentPoint (Int_t color=2) |
Draw current point in the same view. | |
void | DrawPath (const char *path, Option_t *option="") |
Draw current path. | |
void | DrawTracks (Option_t *option="") |
Draw tracks over the geometry, according to option. | |
virtual void | Edit (Option_t *option="") |
Append a pad for this geometry. | |
void | EnableInactiveVolumes () |
virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
Execute mouse actions on this manager. | |
virtual Int_t | Export (const char *filename, const char *name="", Option_t *option="vg") |
Export this geometry to a file. | |
TGeoMaterial * | FindDuplicateMaterial (const TGeoMaterial *mat) const |
Find if a given material duplicates an existing one. | |
TGeoNode * | FindNextBoundary (Double_t stepmax=TGeoShape::Big(), const char *path="", Bool_t frombdr=kFALSE) |
Find distance to next boundary and store it in fStep. | |
TGeoNode * | FindNextBoundaryAndStep (Double_t stepmax=TGeoShape::Big(), Bool_t compsafe=kFALSE) |
Compute distance to next boundary within STEPMAX. | |
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. | |
TGeoNode * | FindNode (Bool_t safe_start=kTRUE) |
Returns deepest node containing current point. | |
TGeoNode * | FindNode (Double_t x, Double_t y, Double_t z) |
Returns deepest node containing current point. | |
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 straight line from a given point/direction. | |
Double_t * | FindNormalFast () |
Computes fast normal to next crossed boundary, assuming that the current point is close enough to the boundary. | |
TVirtualGeoTrack * | FindTrackWithId (Int_t id) const |
Search the track hierarchy to find the track with the given id. | |
TGeoVolume * | FindVolumeFast (const char *name, Bool_t multi=kFALSE) |
Fast search for a named volume. All trailing blanks stripped. | |
TGeoPNEntry * | GetAlignableEntry (const char *name) const |
Retrieves an existing alignable object. | |
TGeoPNEntry * | GetAlignableEntry (Int_t index) const |
Retrieves an existing alignable object at a given index. | |
TGeoPNEntry * | GetAlignableEntryByUID (Int_t uid) const |
Retrieves an existing alignable object having a preset UID. | |
UChar_t * | GetBits () |
void | GetBombFactors (Double_t &bombx, Double_t &bomby, Double_t &bombz, Double_t &bombr) const |
Retrieve cartesian and radial bomb factors. | |
Int_t | GetBombMode () const |
TGeoBorderSurface * | GetBorderSurface (const char *name) const |
Get border surface with a given name;. | |
void | GetBranchNames (Int_t *names) const |
Fill volume names of current branch into an array. | |
void | GetBranchNumbers (Int_t *copyNumbers, Int_t *volumeNumbers) const |
Fill node copy numbers of current branch into an array. | |
void | GetBranchOnlys (Int_t *isonly) const |
Fill node copy numbers of current branch into an array. | |
virtual Int_t | GetByteCount (Option_t *option=0) |
Get total size of geometry in bytes. | |
TGeoNodeCache * | GetCache () const |
const Double_t * | GetCldir () const |
const Double_t * | GetCldirChecked () const |
TGeoShape * | GetClippingShape () const |
const Double_t * | GetCurrentDirection () const |
TGeoHMatrix * | GetCurrentMatrix () const |
TGeoNavigator * | GetCurrentNavigator () const |
Returns current navigator for the calling thread. | |
TGeoNode * | GetCurrentNode () const |
Int_t | GetCurrentNodeId () const |
Get the unique ID of the current node. | |
const Double_t * | GetCurrentPoint () const |
TVirtualGeoTrack * | GetCurrentTrack () |
TGeoVolume * | GetCurrentVolume () const |
TGeoElementTable * | GetElementTable () |
Returns material table. Creates it if not existing. | |
TGDMLMatrix * | GetGDMLMatrix (const char *name) const |
Get GDML matrix with a given name;. | |
TVirtualGeoPainter * | GetGeomPainter () |
Make a default painter if none present. Returns pointer to it. | |
TGeoHMatrix * | GetGLMatrix () const |
TGeoHMatrix * | GetHMatrix () |
Return stored current matrix (global matrix of the next touched node). | |
const Double_t * | GetLastPoint () const |
Double_t | GetLastSafety () const |
TVirtualGeoTrack * | GetLastTrack () |
Int_t | GetLevel () const |
TObjArray * | GetListOfBorderSurfaces () const |
TObjArray * | GetListOfGDMLMatrices () const |
TObjArray * | GetListOfGShapes () const |
TObjArray * | GetListOfGVolumes () const |
TList * | GetListOfMaterials () const |
TObjArray * | GetListOfMatrices () const |
TList * | GetListOfMedia () const |
TGeoNavigatorArray * | GetListOfNavigators () const |
Get list of navigators for the calling thread. | |
TObjArray * | GetListOfNodes () |
TObjArray * | GetListOfOpticalSurfaces () const |
TObjArray * | GetListOfOverlaps () |
TObjArray * | GetListOfPhysicalNodes () |
TObjArray * | GetListOfRegions () const |
TObjArray * | GetListOfShapes () const |
TObjArray * | GetListOfSkinSurfaces () const |
TObjArray * | GetListOfTracks () const |
TObjArray * | GetListOfUVolumes () const |
TObjArray * | GetListOfVolumes () const |
TGeoVolume * | GetMasterVolume () const |
TGeoMaterial * | GetMaterial (const char *matname) const |
Search for a named material. All trailing blanks stripped. | |
TGeoMaterial * | GetMaterial (Int_t id) const |
Return material at position id. | |
Int_t | GetMaterialIndex (const char *matname) const |
Return index of named material. | |
Int_t | GetMaxLevel () const |
Int_t | GetMaxThreads () const |
Int_t | GetMaxVisNodes () const |
TGeoMedium * | GetMedium (const char *medium) const |
Search for a named tracking medium. All trailing blanks stripped. | |
TGeoMedium * | GetMedium (Int_t numed) const |
Search for a tracking medium with a given ID. | |
TGeoNode * | GetMother (Int_t up=1) const |
TGeoHMatrix * | GetMotherMatrix (Int_t up=1) const |
Int_t | GetNAlignable (Bool_t with_uid=kFALSE) const |
Retrieves number of PN entries with or without UID. | |
TGeoNode * | GetNextNode () const |
Int_t | GetNmany () const |
Int_t | GetNNodes () |
TGeoNode * | GetNode (Int_t level) const |
Int_t | GetNodeId () const |
const Double_t * | GetNormal () const |
Int_t | GetNproperties () const |
int | GetNregions () const |
Int_t | GetNsegments () const |
Get number of segments approximating circles. | |
Int_t | GetNtracks () const |
TGeoOpticalSurface * | GetOpticalSurface (const char *name) const |
Get optical surface with a given name;. | |
TVirtualGeoPainter * | GetPainter () const |
TGeoVolume * | GetPaintVolume () const |
TGeoParallelWorld * | GetParallelWorld () const |
TVirtualGeoTrack * | GetParentTrackOfId (Int_t id) const |
Get parent track with a given ID. | |
const char * | GetParticleName () const |
const char * | GetPath () const |
Get path to the current node in the form /node0/node1/... | |
const char * | GetPdgName (Int_t pdg) const |
Get name for given pdg code;. | |
TGeoPhysicalNode * | GetPhysicalNode (Int_t i) const |
Double_t | GetProperty (const char *name, Bool_t *error=nullptr) const |
Get a user-defined property. | |
Double_t | GetProperty (size_t i, TString &name, Bool_t *error=nullptr) const |
Get a user-defined property from a given index. | |
TGeoRegion * | GetRegion (int i) |
Int_t | GetRTmode () const |
Double_t | GetSafeDistance () const |
Int_t | GetSafeLevel () const |
Go upwards the tree until a non-overlapping node. | |
TGeoSkinSurface * | GetSkinSurface (const char *name) const |
Get skin surface with a given name;. | |
Int_t | GetStackLevel () const |
Double_t | GetStep () const |
Double_t | GetTmax () const |
Bool_t | GetTminTmax (Double_t &tmin, Double_t &tmax) const |
Get time cut for drawing tracks. | |
TGeoNode * | GetTopNode () const |
TGeoVolume * | GetTopVolume () const |
TVirtualGeoTrack * | GetTrack (Int_t index) |
Int_t | GetTrackIndex (Int_t id) const |
Get index for track id, -1 if not found. | |
TVirtualGeoTrack * | GetTrackOfId (Int_t id) const |
Get track with a given ID. | |
Int_t | GetUID (const char *volname) const |
Retrieve unique id for a volume name. Return -1 if name not found. | |
TGeoVolume * | GetUserPaintVolume () const |
Int_t | GetVirtualLevel () |
Find level of virtuality of current overlapping node (number of levels up having the same tracking media. | |
Double_t | GetVisDensity () const |
Int_t | GetVisLevel () const |
Returns current depth to which geometry is drawn. | |
Int_t | GetVisOption () const |
Returns current depth to which geometry is drawn. | |
TGeoVolume * | GetVolume (const char *name) const |
Search for a named volume. All trailing blanks stripped. | |
TGeoVolume * | GetVolume (Int_t uid) const |
Bool_t | GotoSafeLevel () |
Go upwards the tree until a non-overlapping node. | |
TGeoNode * | InitTrack (const Double_t *point, const Double_t *dir) |
Initialize current point and current direction vector (normalized) in MARS. | |
TGeoNode * | InitTrack (Double_t x, Double_t y, Double_t z, Double_t nx, Double_t ny, Double_t nz) |
Initialize current point and current direction vector (normalized) in MARS. | |
void | InspectState () const |
Inspects path and all flags for the current state. | |
Bool_t | IsActivityEnabled () const |
Bool_t | IsAnimatingTracks () const |
Bool_t | IsCheckingOverlaps () const |
Bool_t | IsCleaning () const |
Bool_t | IsClosed () const |
Bool_t | IsCurrentOverlapping () const |
Bool_t | IsDrawingExtra () const |
Bool_t | IsEntering () const |
Bool_t | IsExiting () const |
Bool_t | IsFolder () const |
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). | |
Bool_t | IsInPhiRange () const |
True if current node is in phi range. | |
Bool_t | IsMatrixReflection () const |
Bool_t | IsMatrixTransform () const |
Bool_t | IsMultiThread () const |
Bool_t | IsNodeSelectable () const |
Bool_t | IsNullStep () const |
Bool_t | IsOnBoundary () const |
Bool_t | IsOutside () const |
Bool_t | IsParallelWorldNav () const |
Bool_t | IsSameLocation () const |
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. | |
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. | |
Bool_t | IsStartSafe () const |
Bool_t | IsStepEntering () const |
Bool_t | IsStepExiting () const |
Bool_t | IsStreamingVoxels () const |
Bool_t | IsVisLeaves () const |
void | LocalToMaster (const Double_t *local, Double_t *master) const |
void | LocalToMasterBomb (const Double_t *local, Double_t *master) const |
void | LocalToMasterVect (const Double_t *local, Double_t *master) const |
TGeoPhysicalNode * | MakeAlignablePN (const char *name) |
Make a physical node from the path pointed by an alignable object with a given name. | |
TGeoPhysicalNode * | MakeAlignablePN (TGeoPNEntry *entry) |
Make a physical node from the path pointed by a given alignable object. | |
TGeoVolume * | MakeArb8 (const char *name, TGeoMedium *medium, Double_t dz, Double_t *vertices=0) |
Make an TGeoArb8 volume. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
TGeoPhysicalNode * | MakePhysicalNode (const char *path=0) |
Makes a physical node corresponding to a path. | |
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. | |
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. | |
TVirtualGeoTrack * | MakeTrack (Int_t id, Int_t pdgcode, TObject *particle) |
Makes a primary track but do not attach it to the list of tracks. | |
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. | |
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. | |
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. | |
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. | |
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. | |
TGeoVolumeAssembly * | MakeVolumeAssembly (const char *name) |
Make an assembly of volumes. | |
TGeoVolumeMulti * | MakeVolumeMulti (const char *name, TGeoMedium *medium) |
Make a TGeoVolumeMulti handling a list of volumes. | |
TGeoVolume * | MakeXtru (const char *name, TGeoMedium *medium, Int_t nz) |
Make a TGeoXtru-shaped volume with nz planes. | |
void | MasterToLocal (const Double_t *master, Double_t *local) const |
void | MasterToLocalBomb (const Double_t *master, Double_t *local) const |
void | MasterToLocalVect (const Double_t *master, Double_t *local) const |
void | MasterToTop (const Double_t *master, Double_t *top) const |
Convert coordinates from master volume frame to top. | |
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. | |
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>'. | |
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. | |
TGeoMaterial * | Mixture (const char *name, Double_t *a, Double_t *z, Double_t dens, Int_t nelem, Double_t *wmat, Int_t uid) |
Create mixture OR COMPOUND IMAT as composed by THE BASIC nelem materials defined by arrays A,Z and WMAT, having an unique id. | |
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,Z and WMAT, having an unique id. | |
void | ModifiedPad () const |
Send "Modified" signal to painter. | |
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, Double_t *upar, Int_t npar=0) |
Create a node called <name_nr> pointing to the volume called <name> as daughter of the volume called <mother> (gspos). | |
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 <mother> (gspos). | |
void | OptimizeVoxels (const char *filename="tgeovox.C") |
Optimize voxelization type for all volumes. Save best choice in a macro. | |
void | PopDummy (Int_t ipop=9999) |
Bool_t | PopPath () |
Bool_t | PopPath (Int_t index) |
Bool_t | PopPoint () |
Bool_t | PopPoint (Int_t index) |
void | PrintOverlaps () const |
Prints the current list of overlaps. | |
Int_t | PushPath (Int_t startlevel=0) |
Int_t | PushPoint (Int_t startlevel=0) |
void | RandomPoints (const TGeoVolume *vol, Int_t npoints=10000, Option_t *option="") |
Draw random points in the bounding box of a volume. | |
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. | |
void | RefreshPhysicalNodes (Bool_t lock=kTRUE) |
Refresh physical nodes to reflect the actual geometry paths after alignment was applied. | |
void | RegisterMatrix (const TGeoMatrix *matrix) |
Register a matrix to the list of matrices. | |
void | RemoveMaterial (Int_t index) |
Remove material at given index. | |
void | RemoveNavigator (const TGeoNavigator *nav) |
Clear a single navigator. | |
Int_t | ReplaceVolume (TGeoVolume *vorig, TGeoVolume *vnew) |
Replaces all occurrences of VORIG with VNEW in the geometry tree. | |
void | ResetState () |
Reset current state flags. | |
void | ResetUserData () |
Sets all pointers TGeoVolume::fField to NULL. | |
void | RestoreMasterVolume () |
Restore the master volume of the geometry. | |
Double_t | Safety (Bool_t inside=kFALSE) |
Compute safe distance from the current point. | |
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. | |
void | SaveAttributes (const char *filename="tgeoatt.C") |
Save current attributes in a macro. | |
TGeoNode * | SearchNode (Bool_t downwards=kFALSE, const TGeoNode *skipnode=0) |
Returns the deepest node containing fPoint, which must be set a priori. | |
void | SelectTrackingMedia () |
Define different tracking media. | |
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 alignables. | |
void | SetAllIndex () |
Assigns uid's for all materials,media and matrices. | |
void | SetAnimateTracks (Bool_t flag=kTRUE) |
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. | |
void | SetCheckedNode (TGeoNode *node) |
Assign a given node to be checked for overlaps. Any other overlaps will be ignored. | |
void | SetCheckingOverlaps (Bool_t flag=kTRUE) |
void | SetCldirChecked (Double_t *dir) |
void | SetClipping (Bool_t flag=kTRUE) |
void | SetClippingShape (TGeoShape *clip) |
Set a user-defined shape as clipping for ray tracing. | |
void | SetCurrentDirection (Double_t *dir) |
void | SetCurrentDirection (Double_t nx, Double_t ny, Double_t nz) |
Bool_t | SetCurrentNavigator (Int_t index) |
Switch to another existing navigator for the calling thread. | |
void | SetCurrentPoint (Double_t *point) |
void | SetCurrentPoint (Double_t x, Double_t y, Double_t z) |
void | SetCurrentTrack (Int_t i) |
void | SetCurrentTrack (TVirtualGeoTrack *track) |
void | SetDrawExtraPaths (Bool_t flag=kTRUE) |
void | SetExplodedView (Int_t iopt=0) |
Set type of exploding view (see TGeoPainter::SetExplodedView()) | |
void | SetLastPoint (Double_t x, Double_t y, Double_t z) |
void | SetMatrixReflection (Bool_t flag=kTRUE) |
void | SetMatrixTransform (Bool_t on=kTRUE) |
void | SetMaxThreads (Int_t nthreads) |
Set maximum number of threads for navigation. | |
void | SetMaxVisNodes (Int_t maxnodes=10000) |
set the maximum number of visible nodes. | |
void | SetNmeshPoints (Int_t npoints=1000) |
Set the number of points to be generated on the shape outline when checking for overlaps. | |
void | SetNodeSelectable (Bool_t flag=kTRUE) |
void | SetNsegments (Int_t nseg) |
Set number of segments for approximating circles in drawing. | |
void | SetOutside (Bool_t flag=kTRUE) |
void | SetPaintVolume (TGeoVolume *vol) |
void | SetParticleName (const char *pname) |
void | SetPdgName (Int_t pdg, const char *name) |
Set a name for a particle having a given pdg. | |
void | SetPhiRange (Double_t phimin=0., Double_t phimax=360.) |
Set cut phi range. | |
void | SetRTmode (Int_t mode) |
Change raytracing mode. | |
void | SetStartSafe (Bool_t flag=kTRUE) |
void | SetStep (Double_t step) |
void | SetTminTmax (Double_t tmin=0, Double_t tmax=999) |
Set time cut interval for drawing tracks. | |
void | SetTopVisible (Bool_t vis=kTRUE) |
make top volume visible on screen | |
void | SetTopVolume (TGeoVolume *vol) |
Set the top volume and corresponding node as starting point of the geometry. | |
void | SetUseParallelWorldNav (Bool_t flag) |
Activate/deactivate usage of parallel world navigation. | |
void | SetUserPaintVolume (TGeoVolume *vol) |
void | SetVisDensity (Double_t dens=0.01) |
Set density threshold. | |
void | SetVisibility (TObject *obj, Bool_t vis) |
Set visibility for a volume. | |
void | SetVisLevel (Int_t level=3) |
set default level down to which visualization is performed | |
void | SetVisOption (Int_t option=0) |
set drawing mode : | |
void | SetVolumeAttribute (const char *name, const char *att, Int_t val) |
Set volume attributes in G3 style. | |
virtual ULong_t | SizeOf (const TGeoNode *node, Option_t *option) |
computes the total size in bytes of the branch starting with node. | |
void | SortOverlaps () |
Sort overlaps by decreasing overlap distance. Extrusions comes first. | |
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). | |
void | Test (Int_t npoints=1000000, Option_t *option="") |
Check time of finding "Where am I" for n points. | |
void | TestOverlaps (const char *path="") |
Geometry overlap checker based on sampling. | |
void | TopToMaster (const Double_t *top, Double_t *master) const |
Convert coordinates from top volume frame to master. | |
Int_t | TransformVolumeToAssembly (const char *vname) |
Transform all volumes named VNAME to assemblies. The volumes must be virtual. | |
void | UnbombTranslation (const Double_t *tr, Double_t *bombtr) |
Get the new 'unbombed' translation vector according current exploded view mode. | |
void | ViewLeaves (Bool_t flag=kTRUE) |
Set visualization option (leaves only OR all volumes) | |
TGeoVolume * | Volume (const char *name, const char *shape, Int_t nmed, Double_t *upar, Int_t npar=0) |
Create a volume in GEANT3 style. | |
TGeoVolume * | Volume (const char *name, const char *shape, Int_t nmed, Float_t *upar, Int_t npar=0) |
Create a volume in GEANT3 style. | |
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. | |
Public Member Functions inherited from TNamed | |
TNamed () | |
TNamed (const char *name, const char *title) | |
TNamed (const TNamed &named) | |
TNamed copy ctor. | |
TNamed (const TString &name, const TString &title) | |
virtual | ~TNamed () |
TNamed destructor. | |
virtual void | Clear (Option_t *option="") |
Set name and title to empty strings (""). | |
virtual TObject * | Clone (const char *newname="") const |
Make a clone of an object using the Streamer facility. | |
virtual Int_t | Compare (const TObject *obj) const |
Compare two TNamed objects. | |
virtual void | Copy (TObject &named) const |
Copy this to obj. | |
virtual void | FillBuffer (char *&buffer) |
Encode TNamed into output buffer. | |
virtual const char * | GetName () const |
Returns name of object. | |
virtual const char * | GetTitle () const |
Returns title of object. | |
virtual ULong_t | Hash () const |
Return hash value for this object. | |
virtual Bool_t | IsSortable () const |
virtual void | ls (Option_t *option="") const |
List TNamed name and title. | |
TNamed & | operator= (const TNamed &rhs) |
TNamed assignment operator. | |
virtual void | Print (Option_t *option="") const |
Print TNamed name and title. | |
virtual void | SetName (const char *name) |
Set the name of the TNamed. | |
virtual void | SetNameTitle (const char *name, const char *title) |
Set all the TNamed parameters (name and title). | |
virtual void | SetTitle (const char *title="") |
Set the title of the TNamed. | |
virtual Int_t | Sizeof () const |
Return size of the TNamed part of the TObject. | |
Public Member Functions inherited from TObject | |
TObject () | |
TObject constructor. | |
TObject (const TObject &object) | |
TObject copy ctor. | |
virtual | ~TObject () |
TObject destructor. | |
void | AbstractMethod (const char *method) const |
Use this method to implement an "abstract" method that you don't want to leave purely abstract. | |
virtual void | AppendPad (Option_t *option="") |
Append graphics object to current pad. | |
ULong_t | CheckedHash () |
Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object. | |
virtual const char * | ClassName () const |
Returns name of class to which the object belongs. | |
virtual void | Delete (Option_t *option="") |
Delete this object. | |
virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
Computes distance from point (px,py) to the object. | |
virtual void | Draw (Option_t *option="") |
Default Draw method for all objects. | |
virtual void | DrawClass () const |
Draw class inheritance tree of the class to which this object belongs. | |
virtual TObject * | DrawClone (Option_t *option="") const |
Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad) . | |
virtual void | Dump () const |
Dump contents of object on stdout. | |
virtual void | Error (const char *method, const char *msgfmt,...) const |
Issue error message. | |
virtual void | Execute (const char *method, const char *params, Int_t *error=0) |
Execute method on this object with the given parameter string, e.g. | |
virtual void | Execute (TMethod *method, TObjArray *params, Int_t *error=0) |
Execute method on this object with parameters stored in the TObjArray. | |
virtual void | Fatal (const char *method, const char *msgfmt,...) const |
Issue fatal error message. | |
virtual TObject * | FindObject (const char *name) const |
Must be redefined in derived classes. | |
virtual TObject * | FindObject (const TObject *obj) const |
Must be redefined in derived classes. | |
virtual Option_t * | GetDrawOption () const |
Get option used by the graphics system to draw this object. | |
virtual const char * | GetIconName () const |
Returns mime type name of object. | |
virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
Returns string containing info about the object at position (px,py). | |
virtual Option_t * | GetOption () const |
virtual UInt_t | GetUniqueID () const |
Return the unique object id. | |
virtual Bool_t | HandleTimer (TTimer *timer) |
Execute action in response of a timer timing out. | |
Bool_t | HasInconsistentHash () const |
Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e. | |
virtual void | Info (const char *method, const char *msgfmt,...) const |
Issue info message. | |
virtual Bool_t | InheritsFrom (const char *classname) const |
Returns kTRUE if object inherits from class "classname". | |
virtual Bool_t | InheritsFrom (const TClass *cl) const |
Returns kTRUE if object inherits from TClass cl. | |
virtual void | Inspect () const |
Dump contents of this object in a graphics canvas. | |
void | InvertBit (UInt_t f) |
Bool_t | IsDestructed () const |
IsDestructed. | |
virtual Bool_t | IsEqual (const TObject *obj) const |
Default equal comparison (objects are equal if they have the same address in memory). | |
R__ALWAYS_INLINE Bool_t | IsOnHeap () const |
R__ALWAYS_INLINE Bool_t | IsZombie () const |
void | MayNotUse (const char *method) const |
Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). | |
virtual Bool_t | Notify () |
This method must be overridden to handle object notification. | |
void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
Use this method to declare a method obsolete. | |
void | operator delete (void *ptr) |
Operator delete. | |
void | operator delete[] (void *ptr) |
Operator delete []. | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *vp) |
void * | operator new[] (size_t sz) |
void * | operator new[] (size_t sz, void *vp) |
TObject & | operator= (const TObject &rhs) |
TObject assignment operator. | |
virtual void | Paint (Option_t *option="") |
This method must be overridden if a class wants to paint itself. | |
virtual void | Pop () |
Pop on object drawn in a pad to the top of the display list. | |
virtual Int_t | Read (const char *name) |
Read contents of object with specified name from the current directory. | |
virtual void | RecursiveRemove (TObject *obj) |
Recursively remove this object from a list. | |
void | ResetBit (UInt_t f) |
virtual void | SaveAs (const char *filename="", Option_t *option="") const |
Save this object in the file specified by filename. | |
virtual void | SavePrimitive (std::ostream &out, Option_t *option="") |
Save a primitive as a C++ statement(s) on output stream "out". | |
void | SetBit (UInt_t f) |
void | SetBit (UInt_t f, Bool_t set) |
Set or unset the user status bits as specified in f. | |
virtual void | SetDrawOption (Option_t *option="") |
Set drawing option for object. | |
virtual void | SetUniqueID (UInt_t uid) |
Set the unique object id. | |
virtual void | SysError (const char *method, const char *msgfmt,...) const |
Issue system error message. | |
R__ALWAYS_INLINE Bool_t | TestBit (UInt_t f) const |
Int_t | TestBits (UInt_t f) const |
virtual void | UseCurrentStyle () |
Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. | |
virtual void | Warning (const char *method, const char *msgfmt,...) const |
Issue warning message. | |
virtual Int_t | Write (const char *name=0, Int_t option=0, Int_t bufsize=0) |
Write this object to the current directory. | |
virtual Int_t | Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const |
Write this object to the current directory. | |
Static Public Member Functions | |
static void | ClearThreadsMap () |
Clear the current map of threads. | |
static EDefaultUnits | GetDefaultUnits () |
static UInt_t | GetExportPrecision () |
static Int_t | GetMaxDaughters () |
Return maximum number of daughters of a volume used in the geometry. | |
static Int_t | GetMaxLevels () |
Return maximum number of levels used in the geometry. | |
static Int_t | GetMaxXtruVert () |
Return maximum number of vertices for an xtru shape used. | |
static Int_t | GetNumThreads () |
Returns number of threads that were set to use geometry. | |
static Int_t | GetVerboseLevel () |
Set verbosity level (static function). | |
static TGeoManager * | Import (const char *filename, const char *name="", Option_t *option="") |
static function Import a geometry from a gdml or ROOT file | |
static Bool_t | IsLocked () |
Check lock state. | |
static Bool_t | LockDefaultUnits (Bool_t new_value) |
static void | LockGeometry () |
Lock current geometry so that no other geometry can be imported. | |
static Int_t | Parse (const char *expr, TString &expr1, TString &expr2, TString &expr3) |
Parse a string boolean expression and do a syntax check. | |
static void | SetDefaultUnits (EDefaultUnits new_value) |
static void | SetExportPrecision (UInt_t prec) |
static void | SetNavigatorsLock (Bool_t flag) |
Set the lock for navigators. | |
static void | SetVerboseLevel (Int_t vl) |
Return current verbosity level (static function). | |
static Int_t | ThreadId () |
Translates the current thread id to an ordinal number. | |
static void | UnlockGeometry () |
Unlock current geometry. | |
Static Public Member Functions inherited from TObject | |
static Longptr_t | GetDtorOnly () |
Return destructor only flag. | |
static Bool_t | GetObjectStat () |
Get status of object stat flag. | |
static void | SetDtorOnly (void *obj) |
Set destructor only flag. | |
static void | SetObjectStat (Bool_t stat) |
Turn on/off tracking of objects in the TObjectTable. | |
Protected Member Functions | |
TGeoManager (const TGeoManager &)=delete | |
Default units in GDML if not explicit in some tags. | |
TGeoManager & | operator= (const TGeoManager &)=delete |
Protected Member Functions inherited from TObject | |
virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
Interface to ErrorHandler (protected). | |
void | MakeZombie () |
Static Protected Attributes | |
static EDefaultUnits | fgDefaultUnits = TGeoManager::kRootUnits |
Precision to be used in ASCII exports. | |
static UInt_t | fgExportPrecision = 17 |
Maximum number of Xtru vertices. | |
static Bool_t | fgLock = kFALSE |
mutex for navigator booking in MT mode | |
static Int_t | fgMaxDaughters = 1 |
Maximum level in geometry. | |
static Int_t | fgMaxLevel = 1 |
Verbosity level for Info messages (no IO). | |
static Int_t | fgMaxXtruVert = 1 |
Maximum number of daughters. | |
static std::mutex | fgMutex |
static Int_t | fgVerboseLevel = 1 |
Lock preventing a second geometry to be loaded. | |
Private Types | |
typedef std::map< std::string, Double_t > | ConstPropMap_t |
typedef std::map< std::thread::id, TGeoNavigatorArray * > | NavigatorsMap_t |
bits used for voxelization | |
typedef NavigatorsMap_t::iterator | NavigatorsMapIt_t |
typedef std::map< std::thread::id, Int_t > | ThreadsMap_t |
typedef ThreadsMap_t::const_iterator | ThreadsMapIt_t |
Private Member Functions | |
void | Init () |
Initialize manager class. | |
Bool_t | InitArrayPNE () const |
Initialize PNE array for fast access via index and unique-id. | |
Bool_t | InsertPNEId (Int_t uid, Int_t ientry) |
Insert a PN entry in the sorted array of indexes. | |
Bool_t | IsLoopingVolumes () const |
void | SetLoopVolumes (Bool_t flag=kTRUE) |
void | UpdateElements () |
Update element flags when geometry is loaded from a file. | |
void | Voxelize (Option_t *option=0) |
Voxelize all non-divided volumes. | |
Static Private Attributes | |
static Bool_t | fgLockNavigators = kFALSE |
Number of registered threads. | |
static Int_t | fgNumThreads = 0 |
Thread id's map. | |
static ThreadsMap_t * | fgThreadId = 0 |
Map between thread id's and navigator arrays. | |
Additional Inherited Members | |
Protected Types inherited from TObject | |
enum | { kOnlyPrepStep = BIT(3) } |
Protected Attributes inherited from TNamed | |
TString | fName |
TString | fTitle |
#include <TGeoManager.h>
|
private |
Definition at line 121 of file TGeoManager.h.
|
private |
bits used for voxelization
Definition at line 116 of file TGeoManager.h.
|
private |
Definition at line 117 of file TGeoManager.h.
|
private |
Definition at line 118 of file TGeoManager.h.
|
private |
Definition at line 119 of file TGeoManager.h.
Enumerator | |
---|---|
kG4Units | |
kRootUnits |
Definition at line 47 of file TGeoManager.h.
|
protecteddelete |
Default units in GDML if not explicit in some tags.
TGeoManager::TGeoManager | ( | ) |
Default constructor.
Definition at line 309 of file TGeoManager.cxx.
TGeoManager::TGeoManager | ( | const char * | name, |
const char * | title | ||
) |
Constructor.
Definition at line 396 of file TGeoManager.cxx.
|
virtual |
Destructor.
Definition at line 497 of file TGeoManager.cxx.
void TGeoManager::AddBorderSurface | ( | TGeoBorderSurface * | surf | ) |
Add border surface;.
Definition at line 1903 of file TGeoManager.cxx.
void TGeoManager::AddGDMLMatrix | ( | TGDMLMatrix * | mat | ) |
Add GDML matrix;.
Definition at line 1846 of file TGeoManager.cxx.
Int_t TGeoManager::AddMaterial | ( | const TGeoMaterial * | material | ) |
Add a material to the list. Returns index of the material in list.
Definition at line 553 of file TGeoManager.cxx.
TGeoNavigator * TGeoManager::AddNavigator | ( | ) |
Add a navigator in the list of navigators.
If it is the first one make it current navigator.
Definition at line 718 of file TGeoManager.cxx.
void TGeoManager::AddOpticalSurface | ( | TGeoOpticalSurface * | optsurf | ) |
Add optical surface;.
Definition at line 1865 of file TGeoManager.cxx.
Add an illegal overlap/extrusion to the list.
Definition at line 561 of file TGeoManager.cxx.
Add a user-defined property. Returns true if added, false if existing.
Definition at line 580 of file TGeoManager.cxx.
Int_t TGeoManager::AddRegion | ( | TGeoRegion * | region | ) |
Add a new region of volumes.
Definition at line 570 of file TGeoManager.cxx.
Add a shape to the list. Returns index of the shape in list.
Definition at line 633 of file TGeoManager.cxx.
void TGeoManager::AddSkinSurface | ( | TGeoSkinSurface * | surf | ) |
Add skin surface;.
Definition at line 1884 of file TGeoManager.cxx.
Add a track to the list of tracks.
Use this for primaries only. For secondaries, add them to the parent track. The method create objects that are registered to the analysis manager but have to be cleaned-up by the user via ClearTracks().
Definition at line 643 of file TGeoManager.cxx.
Int_t TGeoManager::AddTrack | ( | TVirtualGeoTrack * | track | ) |
Add a track to the list of tracks.
Definition at line 653 of file TGeoManager.cxx.
Int_t TGeoManager::AddTransformation | ( | const TGeoMatrix * | matrix | ) |
Add a matrix to the list. Returns index of the matrix in list.
Definition at line 625 of file TGeoManager.cxx.
Int_t TGeoManager::AddVolume | ( | TGeoVolume * | volume | ) |
Add a volume to the list. Returns index of the volume in list.
Definition at line 673 of file TGeoManager.cxx.
void TGeoManager::AnimateTracks | ( | Double_t | tmin = 0 , |
Double_t | tmax = 5E-8 , |
||
Int_t | nframes = 200 , |
||
Option_t * | option = "/*" |
||
) |
Draw animation of tracks.
Definition at line 1684 of file TGeoManager.cxx.
Get the new 'bombed' translation vector according current exploded view mode.
Definition at line 970 of file TGeoManager.cxx.
Describe how to browse this object.
Reimplemented from TObject.
Definition at line 926 of file TGeoManager.cxx.
void TGeoManager::BuildDefaultMaterials | ( | ) |
Now just a shortcut for GetElementTable.
Definition at line 3369 of file TGeoManager.cxx.
|
virtual |
Browse the tree of nodes starting from fTopNode according to pathname.
Changes the path accordingly.
Definition at line 1565 of file TGeoManager.cxx.
Make a daughter of current node current.
Can be called only with a valid daughter index (no check). Updates cache accordingly.
Definition at line 1548 of file TGeoManager.cxx.
void TGeoManager::CdNext | ( | ) |
Do a cd to the node found next by FindNextBoundary.
Definition at line 1556 of file TGeoManager.cxx.
Change current path to point to the node having this id.
Node id has to be in range : 0 to fNNodes-1 (no check for performance reasons)
Definition at line 1513 of file TGeoManager.cxx.
void TGeoManager::CdTop | ( | ) |
Make top level node the current node.
Updates the cache accordingly. Determine the overlapping state of current node.
Definition at line 1530 of file TGeoManager.cxx.
void TGeoManager::CdUp | ( | ) |
Go one level up in geometry.
Updates cache accordingly. Determine the overlapping state of current node.
Definition at line 1539 of file TGeoManager.cxx.
Check pushes and pulls needed to cross the next boundary with respect to the position given by FindNextBoundary.
If radius is not mentioned the full bounding box will be sampled.
Definition at line 3501 of file TGeoManager.cxx.
Check the boundary errors reference file created by CheckBoundaryErrors method.
The shape for which the crossing failed is drawn with the starting point in red and the extrapolated point to boundary (+/- failing push/pull) in yellow.
Definition at line 3511 of file TGeoManager.cxx.
Perform last checks on the geometry.
Definition at line 3580 of file TGeoManager.cxx.
void TGeoManager::CheckGeometryFull | ( | Int_t | ntracks = 1000000 , |
Double_t | vx = 0. , |
||
Double_t | vy = 0. , |
||
Double_t | vz = 0. , |
||
Option_t * | option = "ob" |
||
) |
Geometry checking.
STAGE 1: extensive overlap checking by sampling per volume. Stdout need to be checked by user to get report, then TGeoVolume::CheckOverlaps(0.01, "s") can be called for the suspicious volumes.
STAGE 2: normal overlap checking using the shapes mesh - fills the list of overlaps.
STAGE 3: shooting NRAYS rays from VERTEX and counting the total number of crossings per volume (rays propagated from boundary to boundary until geometry exit). Timing computed and results stored in a histo.
STAGE 4: shooting 1 mil. random rays inside EACH volume and calling FindNextBoundary() + Safety() for each call. The timing is normalized by the number of crossings computed at stage 2 and presented as percentage. One can get a picture on which are the most "burned" volumes during transportation from geometry point of view. Another plot of the timing per volume vs. number of daughters is produced.
Definition at line 3560 of file TGeoManager.cxx.
Check all geometry for illegal overlaps within a limit OVLP.
Definition at line 3612 of file TGeoManager.cxx.
Bool_t TGeoManager::CheckPath | ( | const char * | path | ) | const |
Check if a geometry path is valid without changing the state of the current navigator.
Definition at line 1573 of file TGeoManager.cxx.
void TGeoManager::CheckPoint | ( | Double_t | x = 0 , |
Double_t | y = 0 , |
||
Double_t | z = 0 , |
||
Option_t * | option = "" |
||
) |
Classify a given point. See TGeoChecker::CheckPoint().
Definition at line 3519 of file TGeoManager.cxx.
Test for shape navigation methods.
Summary for test numbers:
Definition at line 3532 of file TGeoManager.cxx.
void TGeoManager::CleanGarbage | ( | ) |
Clean temporary volumes and shapes from garbage collection.
Definition at line 1487 of file TGeoManager.cxx.
void TGeoManager::ClearAttributes | ( | ) |
Reset all attributes to default ones.
Default attributes for visualization are those defined before closing the geometry.
Definition at line 1338 of file TGeoManager.cxx.
void TGeoManager::ClearNavigators | ( | ) |
Clear all navigators.
Definition at line 799 of file TGeoManager.cxx.
void TGeoManager::ClearOverlaps | ( | ) |
Clear the list of overlaps.
Definition at line 1466 of file TGeoManager.cxx.
Clear the current list of physical nodes, so that we can start over with a new list.
If MUSTDELETE is true, delete previous nodes.
Definition at line 3303 of file TGeoManager.cxx.
Remove a shape from the list of shapes.
Definition at line 1478 of file TGeoManager.cxx.
void TGeoManager::ClearThreadData | ( | ) | const |
Definition at line 865 of file TGeoManager.cxx.
|
static |
Clear the current map of threads.
This will be filled again by the calling threads via ThreadId calls.
Definition at line 892 of file TGeoManager.cxx.
|
inline |
Definition at line 438 of file TGeoManager.h.
Closing geometry implies checking the geometry validity, fixing shapes with negative parameters (run-time shapes)building the cache manager, voxelizing all volumes, counting the total number of physical nodes and registering the manager class to the browser.
Definition at line 1360 of file TGeoManager.cxx.
void TGeoManager::ConvertReflections | ( | ) |
Convert all reflections in geometry to normal rotations + reflected shapes.
Definition at line 1581 of file TGeoManager.cxx.
void TGeoManager::CountLevels | ( | ) |
Count maximum number of nodes per volume, maximum depth and maximum number of xtru vertices.
Definition at line 1614 of file TGeoManager.cxx.
Int_t TGeoManager::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 at line 1653 of file TGeoManager.cxx.
TGeoParallelWorld * TGeoManager::CreateParallelWorld | ( | const char * | name | ) |
Create a parallel world for prioritised navigation.
This can be populated with physical nodes and can be navigated independently using its API. In case the flag SetUseParallelWorldNav is set, any navigation query in the main geometry is checked against the parallel geometry, which gets priority in case of overlaps with the main geometry volumes.
Definition at line 3992 of file TGeoManager.cxx.
void TGeoManager::CreateThreadData | ( | ) | const |
Create thread private data for all geometry objects.
Definition at line 878 of file TGeoManager.cxx.
Cross next boundary and locate within current node The current point must be on the boundary of fCurrentNode.
Definition at line 2515 of file TGeoManager.cxx.
void TGeoManager::DefaultAngles | ( | ) |
Set default angles for a given view.
Definition at line 1668 of file TGeoManager.cxx.
void TGeoManager::DefaultColors | ( | ) |
Set default volume colors according to A of material.
Definition at line 2089 of file TGeoManager.cxx.
|
inline |
Definition at line 390 of file TGeoManager.h.
TGeoVolume * TGeoManager::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)
Divides MOTHER into NDIV divisions called NAME along axis IAXIS starting at coordinate value START and having size STEP. The created volumes will have tracking media ID=NUMED (if NUMED=0 -> same media as MOTHER) The behavior of the division operation can be triggered using OPTION :
OPTION (case insensitive) :
Definition at line 1136 of file TGeoManager.cxx.
void TGeoManager::DoBackupState | ( | ) |
Backup the current state without affecting the cache stack.
Definition at line 988 of file TGeoManager.cxx.
void TGeoManager::DoRestoreState | ( | ) |
Restore a backed-up state without affecting the cache stack.
Definition at line 996 of file TGeoManager.cxx.
Draw current point in the same view.
Definition at line 1676 of file TGeoManager.cxx.
Draw current path.
Definition at line 1764 of file TGeoManager.cxx.
Draw tracks over the geometry, according to option.
By default, only primaries are drawn. See TGeoTrack::Draw() for additional options.
Definition at line 1747 of file TGeoManager.cxx.
Append a pad for this geometry.
Definition at line 945 of file TGeoManager.cxx.
|
inline |
Definition at line 391 of file TGeoManager.h.
Execute mouse actions on this manager.
Reimplemented from TObject.
Definition at line 3689 of file TGeoManager.cxx.
|
virtual |
Export this geometry to a file.
Definition at line 3713 of file TGeoManager.cxx.
TGeoMaterial * TGeoManager::FindDuplicateMaterial | ( | const TGeoMaterial * | mat | ) | const |
Find if a given material duplicates an existing one.
Definition at line 2767 of file TGeoManager.cxx.
TGeoNode * TGeoManager::FindNextBoundary | ( | Double_t | stepmax = TGeoShape::Big() , |
const char * | path = "" , |
||
Bool_t | frombdr = kFALSE |
||
) |
Find distance to next boundary and store it in fStep.
Returns node to which this boundary belongs. If PATH is specified, compute only distance to the node to which PATH points. If STEPMAX is specified, compute distance only in case fSafety is smaller than this value. STEPMAX represent the step to be made imposed by other reasons than geometry (usually physics processes). Therefore in this case this method provides the answer to the question : "Is STEPMAX a safe step ?" returning a NULL node and filling fStep with a big number. In case frombdr=kTRUE, the isotropic safety is set to zero.
Note : safety distance for the current point is computed ONLY in case STEPMAX is specified, otherwise users have to call explicitly TGeoManager::Safety() if they want this computed for the current point.
Definition at line 2545 of file TGeoManager.cxx.
TGeoNode * TGeoManager::FindNextBoundaryAndStep | ( | Double_t | stepmax = TGeoShape::Big() , |
Bool_t | compsafe = kFALSE |
||
) |
Compute distance to next boundary within STEPMAX.
If no boundary is found, propagate current point along current direction with fStep=STEPMAX. Otherwise propagate with fStep=SNEXT (distance to boundary) and locate/return the next node.
Definition at line 2526 of file TGeoManager.cxx.
TGeoNode * TGeoManager::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.
The point and direction must be converted in the coordinate system of the current volume. The proposed step limit is fStep.
Definition at line 2556 of file TGeoManager.cxx.
Returns deepest node containing current point.
Definition at line 2572 of file TGeoManager.cxx.
Returns deepest node containing current point.
Definition at line 2580 of file TGeoManager.cxx.
Computes normal vector to the next surface that will be or was already crossed when propagating on a straight line from a given point/direction.
Returns the normal vector cosines in the MASTER coordinate system. The dot product of the normal and the current direction is positive defined.
Definition at line 2600 of file TGeoManager.cxx.
Double_t * TGeoManager::FindNormalFast | ( | ) |
Computes fast normal to next crossed boundary, assuming that the current point is close enough to the boundary.
Works only after calling FindNextBoundary.
Definition at line 2589 of file TGeoManager.cxx.
TVirtualGeoTrack * TGeoManager::FindTrackWithId | ( | Int_t | id | ) | const |
Search the track hierarchy to find the track with the given id.
if 'primsFirst' is true, then: first tries TGeoManager::GetTrackOfId, then does a recursive search if that fails. this would be faster if the track is somehow known to be a primary
Definition at line 2015 of file TGeoManager.cxx.
TGeoVolume * TGeoManager::FindVolumeFast | ( | const char * | name, |
Bool_t | multi = kFALSE |
||
) |
Fast search for a named volume. All trailing blanks stripped.
Definition at line 2733 of file TGeoManager.cxx.
TGeoPNEntry * TGeoManager::GetAlignableEntry | ( | const char * | name | ) | const |
Retrieves an existing alignable object.
Definition at line 3140 of file TGeoManager.cxx.
TGeoPNEntry * TGeoManager::GetAlignableEntry | ( | Int_t | index | ) | const |
Retrieves an existing alignable object at a given index.
Definition at line 3149 of file TGeoManager.cxx.
TGeoPNEntry * TGeoManager::GetAlignableEntryByUID | ( | Int_t | uid | ) | const |
Retrieves an existing alignable object having a preset UID.
Definition at line 3158 of file TGeoManager.cxx.
|
inline |
Definition at line 452 of file TGeoManager.h.
void TGeoManager::GetBombFactors | ( | Double_t & | bombx, |
Double_t & | bomby, | ||
Double_t & | bombz, | ||
Double_t & | bombr | ||
) | const |
Retrieve cartesian and radial bomb factors.
Definition at line 1931 of file TGeoManager.cxx.
|
inline |
Definition at line 214 of file TGeoManager.h.
TGeoBorderSurface * TGeoManager::GetBorderSurface | ( | const char * | name | ) | const |
Get border surface with a given name;.
Definition at line 1896 of file TGeoManager.cxx.
Fill volume names of current branch into an array.
Definition at line 1798 of file TGeoManager.cxx.
Fill node copy numbers of current branch into an array.
Definition at line 1915 of file TGeoManager.cxx.
Fill node copy numbers of current branch into an array.
Definition at line 1923 of file TGeoManager.cxx.
Get total size of geometry in bytes.
Definition at line 2675 of file TGeoManager.cxx.
|
inline |
Definition at line 578 of file TGeoManager.h.
|
inline |
Definition at line 525 of file TGeoManager.h.
|
inline |
Definition at line 524 of file TGeoManager.h.
|
inline |
Definition at line 210 of file TGeoManager.h.
|
inline |
Definition at line 522 of file TGeoManager.h.
|
inline |
Definition at line 516 of file TGeoManager.h.
TGeoNavigator * TGeoManager::GetCurrentNavigator | ( | ) | const |
Returns current navigator for the calling thread.
Definition at line 738 of file TGeoManager.cxx.
|
inline |
Definition at line 519 of file TGeoManager.h.
Int_t TGeoManager::GetCurrentNodeId | ( | ) | const |
Get the unique ID of the current node.
Definition at line 1521 of file TGeoManager.cxx.
|
inline |
Definition at line 521 of file TGeoManager.h.
|
inline |
Definition at line 395 of file TGeoManager.h.
|
inline |
Definition at line 523 of file TGeoManager.h.
|
static |
Definition at line 4027 of file TGeoManager.cxx.
TGeoElementTable * TGeoManager::GetElementTable | ( | ) |
Returns material table. Creates it if not existing.
Definition at line 3378 of file TGeoManager.cxx.
|
inlinestatic |
Definition at line 479 of file TGeoManager.h.
TGDMLMatrix * TGeoManager::GetGDMLMatrix | ( | const char * | name | ) | const |
Get GDML matrix with a given name;.
Definition at line 1839 of file TGeoManager.cxx.
TVirtualGeoPainter * TGeoManager::GetGeomPainter | ( | ) |
Make a default painter if none present. Returns pointer to it.
Definition at line 2697 of file TGeoManager.cxx.
|
inline |
Definition at line 517 of file TGeoManager.h.
TGeoHMatrix * TGeoManager::GetHMatrix | ( | ) |
Return stored current matrix (global matrix of the next touched node).
Definition at line 1975 of file TGeoManager.cxx.
|
inline |
Definition at line 397 of file TGeoManager.h.
|
inline |
Definition at line 407 of file TGeoManager.h.
|
inline |
Definition at line 396 of file TGeoManager.h.
|
inline |
Definition at line 527 of file TGeoManager.h.
|
inline |
Definition at line 502 of file TGeoManager.h.
|
inline |
Definition at line 499 of file TGeoManager.h.
|
inline |
Definition at line 496 of file TGeoManager.h.
|
inline |
Definition at line 494 of file TGeoManager.h.
|
inline |
Definition at line 491 of file TGeoManager.h.
|
inline |
Definition at line 490 of file TGeoManager.h.
|
inline |
Definition at line 492 of file TGeoManager.h.
TGeoNavigatorArray * TGeoManager::GetListOfNavigators | ( | ) | const |
Get list of navigators for the calling thread.
Definition at line 756 of file TGeoManager.cxx.
|
inline |
Definition at line 487 of file TGeoManager.h.
|
inline |
Definition at line 500 of file TGeoManager.h.
|
inline |
Definition at line 489 of file TGeoManager.h.
|
inline |
Definition at line 488 of file TGeoManager.h.
|
inline |
Definition at line 503 of file TGeoManager.h.
|
inline |
Definition at line 495 of file TGeoManager.h.
|
inline |
Definition at line 501 of file TGeoManager.h.
|
inline |
Definition at line 498 of file TGeoManager.h.
|
inline |
Definition at line 497 of file TGeoManager.h.
|
inline |
Definition at line 493 of file TGeoManager.h.
|
inline |
Definition at line 531 of file TGeoManager.h.
TGeoMaterial * TGeoManager::GetMaterial | ( | const char * | matname | ) | const |
Search for a named material. All trailing blanks stripped.
Definition at line 2783 of file TGeoManager.cxx.
TGeoMaterial * TGeoManager::GetMaterial | ( | Int_t | id | ) | const |
Return material at position id.
Definition at line 2818 of file TGeoManager.cxx.
Int_t TGeoManager::GetMaterialIndex | ( | const char * | matname | ) | const |
Return index of named material.
Definition at line 2828 of file TGeoManager.cxx.
|
static |
Return maximum number of daughters of a volume used in the geometry.
Definition at line 1943 of file TGeoManager.cxx.
|
inline |
Definition at line 528 of file TGeoManager.h.
|
static |
Return maximum number of levels used in the geometry.
Definition at line 1951 of file TGeoManager.cxx.
|
inline |
Definition at line 458 of file TGeoManager.h.
|
inline |
Definition at line 216 of file TGeoManager.h.
|
static |
Return maximum number of vertices for an xtru shape used.
Definition at line 1959 of file TGeoManager.cxx.
TGeoMedium * TGeoManager::GetMedium | ( | const char * | medium | ) | const |
Search for a named tracking medium. All trailing blanks stripped.
Definition at line 2794 of file TGeoManager.cxx.
TGeoMedium * TGeoManager::GetMedium | ( | Int_t | numed | ) | const |
Search for a tracking medium with a given ID.
Definition at line 2805 of file TGeoManager.cxx.
Definition at line 513 of file TGeoManager.h.
|
inline |
Definition at line 514 of file TGeoManager.h.
Retrieves number of PN entries with or without UID.
Definition at line 3169 of file TGeoManager.cxx.
|
inline |
Definition at line 512 of file TGeoManager.h.
|
inline |
Definition at line 199 of file TGeoManager.h.
|
inline |
Definition at line 577 of file TGeoManager.h.
Definition at line 510 of file TGeoManager.h.
|
inline |
Definition at line 511 of file TGeoManager.h.
|
inline |
Definition at line 526 of file TGeoManager.h.
|
inline |
Definition at line 182 of file TGeoManager.h.
|
inline |
Definition at line 574 of file TGeoManager.h.
Int_t TGeoManager::GetNsegments | ( | ) | const |
Get number of segments approximating circles.
Definition at line 3361 of file TGeoManager.cxx.
|
inline |
Definition at line 394 of file TGeoManager.h.
|
static |
Returns number of threads that were set to use geometry.
Definition at line 1967 of file TGeoManager.cxx.
TGeoOpticalSurface * TGeoManager::GetOpticalSurface | ( | const char * | name | ) | const |
Get optical surface with a given name;.
Definition at line 1858 of file TGeoManager.cxx.
|
inline |
Definition at line 213 of file TGeoManager.h.
|
inline |
Definition at line 219 of file TGeoManager.h.
|
inline |
Definition at line 595 of file TGeoManager.h.
TVirtualGeoTrack * TGeoManager::GetParentTrackOfId | ( | Int_t | id | ) | const |
Get parent track with a given ID.
Definition at line 2047 of file TGeoManager.cxx.
|
inline |
Definition at line 263 of file TGeoManager.h.
const char * TGeoManager::GetPath | ( | ) | const |
Get path to the current node in the form /node0/node1/...
Definition at line 2667 of file TGeoManager.cxx.
const char * TGeoManager::GetPdgName | ( | Int_t | pdg | ) | const |
Get name for given pdg code;.
Definition at line 1806 of file TGeoManager.cxx.
|
inline |
Definition at line 534 of file TGeoManager.h.
Get a user-defined property.
Definition at line 593 of file TGeoManager.cxx.
Get a user-defined property from a given index.
Definition at line 607 of file TGeoManager.cxx.
|
inline |
Definition at line 575 of file TGeoManager.h.
|
inline |
Definition at line 460 of file TGeoManager.h.
|
inline |
Definition at line 406 of file TGeoManager.h.
Int_t TGeoManager::GetSafeLevel | ( | ) | const |
Go upwards the tree until a non-overlapping node.
Definition at line 2081 of file TGeoManager.cxx.
TGeoSkinSurface * TGeoManager::GetSkinSurface | ( | const char * | name | ) | const |
Get skin surface with a given name;.
Definition at line 1877 of file TGeoManager.cxx.
|
inline |
Definition at line 530 of file TGeoManager.h.
|
inline |
Definition at line 408 of file TGeoManager.h.
|
inline |
Definition at line 218 of file TGeoManager.h.
Get time cut for drawing tracks.
Definition at line 3949 of file TGeoManager.cxx.
|
inline |
Definition at line 533 of file TGeoManager.h.
|
inline |
Definition at line 532 of file TGeoManager.h.
|
inline |
Definition at line 398 of file TGeoManager.h.
Get index for track id, -1 if not found.
Definition at line 2059 of file TGeoManager.cxx.
TVirtualGeoTrack * TGeoManager::GetTrackOfId | ( | Int_t | id | ) | const |
Get track with a given ID.
Definition at line 2033 of file TGeoManager.cxx.
Int_t TGeoManager::GetUID | ( | const char * | volname | ) | const |
Retrieve unique id for a volume name. Return -1 if name not found.
Definition at line 2755 of file TGeoManager.cxx.
|
inline |
Definition at line 220 of file TGeoManager.h.
|
static |
Set verbosity level (static function).
Definition at line 3799 of file TGeoManager.cxx.
Int_t TGeoManager::GetVirtualLevel | ( | ) |
Find level of virtuality of current overlapping node (number of levels up having the same tracking media.
Definition at line 2001 of file TGeoManager.cxx.
|
inline |
Definition at line 221 of file TGeoManager.h.
Int_t TGeoManager::GetVisLevel | ( | ) | const |
Returns current depth to which geometry is drawn.
Definition at line 1984 of file TGeoManager.cxx.
Int_t TGeoManager::GetVisOption | ( | ) | const |
Returns current depth to which geometry is drawn.
Definition at line 1992 of file TGeoManager.cxx.
TGeoVolume * TGeoManager::GetVolume | ( | const char * | name | ) | const |
Search for a named volume. All trailing blanks stripped.
Definition at line 2722 of file TGeoManager.cxx.
|
inline |
Definition at line 573 of file TGeoManager.h.
Bool_t TGeoManager::GotoSafeLevel | ( | ) |
Go upwards the tree until a non-overlapping node.
Definition at line 2073 of file TGeoManager.cxx.
|
static |
static function Import a geometry from a gdml or ROOT file
Note that this function deletes the current gGeoManager (if one) before importing the new object.
Definition at line 3829 of file TGeoManager.cxx.
|
private |
Initialize manager class.
Definition at line 410 of file TGeoManager.cxx.
|
private |
Initialize PNE array for fast access via index and unique-id.
Definition at line 3932 of file TGeoManager.cxx.
Initialize current point and current direction vector (normalized) in MARS.
Return corresponding node.
Definition at line 2642 of file TGeoManager.cxx.
TGeoNode * TGeoManager::InitTrack | ( | Double_t | x, |
Double_t | y, | ||
Double_t | z, | ||
Double_t | nx, | ||
Double_t | ny, | ||
Double_t | nz | ||
) |
Initialize current point and current direction vector (normalized) in MARS.
Return corresponding node.
Definition at line 2651 of file TGeoManager.cxx.
Insert a PN entry in the sorted array of indexes.
Definition at line 3179 of file TGeoManager.cxx.
void TGeoManager::InspectState | ( | ) | const |
Inspects path and all flags for the current state.
Definition at line 2659 of file TGeoManager.cxx.
|
inline |
Definition at line 431 of file TGeoManager.h.
|
inline |
Definition at line 410 of file TGeoManager.h.
|
inline |
Definition at line 411 of file TGeoManager.h.
|
inline |
Definition at line 484 of file TGeoManager.h.
|
inline |
Definition at line 305 of file TGeoManager.h.
|
inline |
Definition at line 423 of file TGeoManager.h.
|
inline |
Definition at line 225 of file TGeoManager.h.
|
inline |
Definition at line 424 of file TGeoManager.h.
|
inline |
Definition at line 425 of file TGeoManager.h.
|
inlinevirtual |
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
Reimplemented from TObject.
Definition at line 202 of file TGeoManager.h.
Bool_t TGeoManager::IsInPhiRange | ( | ) | const |
True if current node is in phi range.
Definition at line 2624 of file TGeoManager.cxx.
|
static |
Check lock state.
Definition at line 3789 of file TGeoManager.cxx.
|
inlineprivate |
Definition at line 155 of file TGeoManager.h.
|
inline |
Definition at line 413 of file TGeoManager.h.
|
inline |
Definition at line 412 of file TGeoManager.h.
|
inline |
Definition at line 462 of file TGeoManager.h.
|
inline |
Definition at line 226 of file TGeoManager.h.
|
inline |
Definition at line 430 of file TGeoManager.h.
|
inline |
Definition at line 429 of file TGeoManager.h.
|
inline |
Definition at line 428 of file TGeoManager.h.
|
inline |
Definition at line 597 of file TGeoManager.h.
|
inline |
Definition at line 415 of file TGeoManager.h.
Checks if point (x,y,z) is still in the current node.
Definition at line 2608 of file TGeoManager.cxx.
Check if a new point with given coordinates is the same as the last located one.
Definition at line 2616 of file TGeoManager.cxx.
|
inline |
Definition at line 417 of file TGeoManager.h.
|
inline |
Definition at line 426 of file TGeoManager.h.
|
inline |
Definition at line 427 of file TGeoManager.h.
|
inline |
Definition at line 483 of file TGeoManager.h.
|
inline |
Definition at line 227 of file TGeoManager.h.
Definition at line 543 of file TGeoManager.h.
Definition at line 545 of file TGeoManager.h.
Definition at line 544 of file TGeoManager.h.
Definition at line 4021 of file TGeoManager.cxx.
|
static |
Lock current geometry so that no other geometry can be imported.
Definition at line 3773 of file TGeoManager.cxx.
TGeoPhysicalNode * TGeoManager::MakeAlignablePN | ( | const char * | name | ) |
Make a physical node from the path pointed by an alignable object with a given name.
Definition at line 3236 of file TGeoManager.cxx.
TGeoPhysicalNode * TGeoManager::MakeAlignablePN | ( | TGeoPNEntry * | entry | ) |
Make a physical node from the path pointed by a given alignable object.
Definition at line 3249 of file TGeoManager.cxx.
TGeoVolume * TGeoManager::MakeArb8 | ( | const char * | name, |
TGeoMedium * | medium, | ||
Double_t | dz, | ||
Double_t * | vertices = 0 |
||
) |
Make an TGeoArb8 volume.
Definition at line 2921 of file TGeoManager.cxx.
TGeoVolume * TGeoManager::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 at line 2930 of file TGeoManager.cxx.
TGeoVolume * TGeoManager::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 at line 3025 of file TGeoManager.cxx.
TGeoVolume * TGeoManager::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 at line 3035 of file TGeoManager.cxx.
TGeoVolume * TGeoManager::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 at line 3015 of file TGeoManager.cxx.
TGeoVolume * TGeoManager::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 at line 2988 of file TGeoManager.cxx.
TGeoVolume * TGeoManager::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 at line 3094 of file TGeoManager.cxx.
TGeoVolume * TGeoManager::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 at line 2997 of file TGeoManager.cxx.
TGeoVolume * TGeoManager::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 at line 2939 of file TGeoManager.cxx.
TGeoVolume * TGeoManager::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 at line 3006 of file TGeoManager.cxx.
TGeoVolume * TGeoManager::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 at line 3046 of file TGeoManager.cxx.
TGeoVolume * TGeoManager::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 at line 3055 of file TGeoManager.cxx.
TGeoPhysicalNode * TGeoManager::MakePhysicalNode | ( | const char * | path = 0 | ) |
Makes a physical node corresponding to a path.
If PATH is not specified, makes physical node matching current modeller state.
Definition at line 3270 of file TGeoManager.cxx.
TGeoVolume * TGeoManager::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 at line 2949 of file TGeoManager.cxx.
TGeoVolume * TGeoManager::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 at line 2959 of file TGeoManager.cxx.
TVirtualGeoTrack * TGeoManager::MakeTrack | ( | Int_t | id, |
Int_t | pdgcode, | ||
TObject * | particle | ||
) |
Makes a primary track but do not attach it to the list of tracks.
The track can be attached as daughter to another one with TVirtualGeoTrack::AddTrack
Definition at line 664 of file TGeoManager.cxx.
TGeoVolume * TGeoManager::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 at line 3083 of file TGeoManager.cxx.
TGeoVolume * TGeoManager::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 at line 3064 of file TGeoManager.cxx.
TGeoVolume * TGeoManager::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 at line 3073 of file TGeoManager.cxx.
TGeoVolume * TGeoManager::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 at line 2968 of file TGeoManager.cxx.
TGeoVolume * TGeoManager::MakeTubs | ( | const char * | name, |
TGeoMedium * | medium, | ||
Double_t | rmin, | ||
Double_t | rmax, | ||
Double_t | dz, | ||
Double_t | phiStart, | ||
Double_t | phiEnd | ||
) |
Make in one step a volume pointing to a tube segment shape with given medium.
The segment will be from phiStart to phiEnd, the angles are expressed in degree
Definition at line 2978 of file TGeoManager.cxx.
TGeoVolumeAssembly * TGeoManager::MakeVolumeAssembly | ( | const char * | name | ) |
Make an assembly of volumes.
Definition at line 3312 of file TGeoManager.cxx.
TGeoVolumeMulti * TGeoManager::MakeVolumeMulti | ( | const char * | name, |
TGeoMedium * | medium | ||
) |
Make a TGeoVolumeMulti handling a list of volumes.
Definition at line 3320 of file TGeoManager.cxx.
TGeoVolume * TGeoManager::MakeXtru | ( | const char * | name, |
TGeoMedium * | medium, | ||
Int_t | nz | ||
) |
Make a TGeoXtru-shaped volume with nz planes.
Definition at line 3105 of file TGeoManager.cxx.
Definition at line 546 of file TGeoManager.h.
Definition at line 548 of file TGeoManager.h.
Definition at line 547 of file TGeoManager.h.
Convert coordinates from master volume frame to top.
Definition at line 3972 of file TGeoManager.cxx.
TGeoMaterial * TGeoManager::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 at line 1164 of file TGeoManager.cxx.
void TGeoManager::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 at line 1154 of file TGeoManager.cxx.
TGeoMedium * TGeoManager::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 at line 1210 of file TGeoManager.cxx.
TGeoMaterial * TGeoManager::Mixture | ( | const char * | name, |
Double_t * | a, | ||
Double_t * | z, | ||
Double_t | dens, | ||
Int_t | nelem, | ||
Double_t * | wmat, | ||
Int_t | uid | ||
) |
Create mixture OR COMPOUND IMAT as composed by THE BASIC nelem materials defined by arrays A,Z and WMAT, having an unique id.
Definition at line 1184 of file TGeoManager.cxx.
TGeoMaterial * TGeoManager::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,Z and WMAT, having an unique id.
Definition at line 1174 of file TGeoManager.cxx.
void TGeoManager::ModifiedPad | ( | ) | const |
Send "Modified" signal to painter.
Definition at line 2912 of file TGeoManager.cxx.
void TGeoManager::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, | ||
Double_t * | upar, | ||
Int_t | npar = 0 |
||
) |
Create a node called <name_nr> pointing to the volume called <name> as daughter of the volume called <mother> (gspos).
The relative matrix is made of : a translation (x,y,z) and a rotation matrix named <matIROT>. In case npar>0, create the volume to be positioned in mother, according its actual parameters (gsposp).
Definition at line 1255 of file TGeoManager.cxx.
void TGeoManager::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 <mother> (gspos).
The relative matrix is made of : a translation (x,y,z) and a rotation matrix named <matIROT>. In case npar>0, create the volume to be positioned in mother, according its actual parameters (gsposp).
Definition at line 1233 of file TGeoManager.cxx.
|
protecteddelete |
void TGeoManager::OptimizeVoxels | ( | const char * | filename = "tgeovox.C" | ) |
Optimize voxelization type for all volumes. Save best choice in a macro.
Definition at line 2283 of file TGeoManager.cxx.
|
static |
Parse a string boolean expression and do a syntax check.
Find top level boolean operator and returns its type. Fill the two substrings to which this operator applies. The returned integer is :
Definition at line 2337 of file TGeoManager.cxx.
Definition at line 591 of file TGeoManager.h.
|
inline |
Definition at line 586 of file TGeoManager.h.
Definition at line 587 of file TGeoManager.h.
|
inline |
Definition at line 589 of file TGeoManager.h.
Definition at line 590 of file TGeoManager.h.
void TGeoManager::PrintOverlaps | ( | ) | const |
Prints the current list of overlaps.
Definition at line 3624 of file TGeoManager.cxx.
Definition at line 585 of file TGeoManager.h.
Definition at line 588 of file TGeoManager.h.
void TGeoManager::RandomPoints | ( | const TGeoVolume * | vol, |
Int_t | npoints = 10000 , |
||
Option_t * | option = "" |
||
) |
Draw random points in the bounding box of a volume.
Definition at line 1774 of file TGeoManager.cxx.
void TGeoManager::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 at line 2847 of file TGeoManager.cxx.
Refresh physical nodes to reflect the actual geometry paths after alignment was applied.
Optionally locks physical nodes (default).
Definition at line 3290 of file TGeoManager.cxx.
void TGeoManager::RegisterMatrix | ( | const TGeoMatrix * | matrix | ) |
Register a matrix to the list of matrices.
It will be cleaned-up at the destruction TGeoManager.
Definition at line 1005 of file TGeoManager.cxx.
Remove material at given index.
Definition at line 2855 of file TGeoManager.cxx.
void TGeoManager::RemoveNavigator | ( | const TGeoNavigator * | nav | ) |
Clear a single navigator.
Definition at line 815 of file TGeoManager.cxx.
Int_t TGeoManager::ReplaceVolume | ( | TGeoVolume * | vorig, |
TGeoVolume * | vnew | ||
) |
Replaces all occurrences of VORIG with VNEW in the geometry tree.
The volume VORIG is not replaced from the list of volumes, but all node referencing it will reference VNEW instead. Returns number of occurrences changed.
Definition at line 1015 of file TGeoManager.cxx.
void TGeoManager::ResetState | ( | ) |
Reset current state flags.
Definition at line 2564 of file TGeoManager.cxx.
void TGeoManager::ResetUserData | ( | ) |
Sets all pointers TGeoVolume::fField to NULL.
User data becomes decoupled from geometry. Deletion has to be managed by users.
Definition at line 2865 of file TGeoManager.cxx.
void TGeoManager::RestoreMasterVolume | ( | ) |
Restore the master volume of the geometry.
Definition at line 2884 of file TGeoManager.cxx.
Compute safe distance from the current point.
This represent the distance from POINT to the closest boundary.
Definition at line 2127 of file TGeoManager.cxx.
TGeoNode * TGeoManager::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.
return minimum distance to points outside
Definition at line 3400 of file TGeoManager.cxx.
void TGeoManager::SaveAttributes | ( | const char * | filename = "tgeoatt.C" | ) |
Save current attributes in a macro.
Definition at line 2450 of file TGeoManager.cxx.
Returns the deepest node containing fPoint, which must be set a priori.
Definition at line 2506 of file TGeoManager.cxx.
void TGeoManager::SelectTrackingMedia | ( | ) |
Define different tracking media.
Definition at line 3457 of file TGeoManager.cxx.
TGeoPNEntry * TGeoManager::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 alignables.
An optional unique ID can be provided, in which case PN entries can be searched fast by uid.
Definition at line 3115 of file TGeoManager.cxx.
void TGeoManager::SetAllIndex | ( | ) |
Assigns uid's for all materials,media and matrices.
Definition at line 1294 of file TGeoManager.cxx.
Definition at line 580 of file TGeoManager.h.
void TGeoManager::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 at line 2171 of file TGeoManager.cxx.
Assign a given node to be checked for overlaps. Any other overlaps will be ignored.
Definition at line 2213 of file TGeoManager.cxx.
Definition at line 418 of file TGeoManager.h.
Definition at line 540 of file TGeoManager.h.
Definition at line 230 of file TGeoManager.h.
Set a user-defined shape as clipping for ray tracing.
Definition at line 2179 of file TGeoManager.cxx.
Definition at line 538 of file TGeoManager.h.
Definition at line 539 of file TGeoManager.h.
Switch to another existing navigator for the calling thread.
Definition at line 768 of file TGeoManager.cxx.
Definition at line 535 of file TGeoManager.h.
Definition at line 536 of file TGeoManager.h.
Definition at line 392 of file TGeoManager.h.
|
inline |
Definition at line 393 of file TGeoManager.h.
|
static |
Definition at line 4032 of file TGeoManager.cxx.
Definition at line 241 of file TGeoManager.h.
Set type of exploding view (see TGeoPainter::SetExplodedView())
Definition at line 3328 of file TGeoManager.cxx.
Definition at line 478 of file TGeoManager.h.
Definition at line 537 of file TGeoManager.h.
Definition at line 159 of file TGeoManager.h.
Definition at line 421 of file TGeoManager.h.
Definition at line 420 of file TGeoManager.h.
Set maximum number of threads for navigation.
Definition at line 836 of file TGeoManager.cxx.
set the maximum number of visible nodes.
Definition at line 2192 of file TGeoManager.cxx.
Set the lock for navigators.
Definition at line 791 of file TGeoManager.cxx.
Set the number of points to be generated on the shape outline when checking for overlaps.
Definition at line 2221 of file TGeoManager.cxx.
Definition at line 242 of file TGeoManager.h.
Set number of segments for approximating circles in drawing.
Definition at line 3351 of file TGeoManager.cxx.
Definition at line 432 of file TGeoManager.h.
|
inline |
Definition at line 237 of file TGeoManager.h.
|
inline |
Definition at line 262 of file TGeoManager.h.
Set a name for a particle having a given pdg.
Definition at line 1819 of file TGeoManager.cxx.
Set cut phi range.
Definition at line 3337 of file TGeoManager.cxx.
Change raytracing mode.
Definition at line 2875 of file TGeoManager.cxx.
Definition at line 419 of file TGeoManager.h.
Definition at line 422 of file TGeoManager.h.
Set time cut interval for drawing tracks.
If called with no arguments, time cut will be disabled.
Definition at line 3960 of file TGeoManager.cxx.
make top volume visible on screen
Definition at line 2205 of file TGeoManager.cxx.
void TGeoManager::SetTopVolume | ( | TGeoVolume * | vol | ) |
Set the top volume and corresponding node as starting point of the geometry.
Definition at line 3409 of file TGeoManager.cxx.
Activate/deactivate usage of parallel world navigation.
Can only be done if there is a parallel world. Activating navigation will automatically close the parallel geometry.
Definition at line 4003 of file TGeoManager.cxx.
|
inline |
Definition at line 238 of file TGeoManager.h.
Return current verbosity level (static function).
Definition at line 3807 of file TGeoManager.cxx.
Set density threshold.
Volumes with densities lower than this become transparent.
Definition at line 2251 of file TGeoManager.cxx.
Set visibility for a volume.
Definition at line 953 of file TGeoManager.cxx.
set default level down to which visualization is performed
Definition at line 2260 of file TGeoManager.cxx.
set drawing mode :
Definition at line 2233 of file TGeoManager.cxx.
Set volume attributes in G3 style.
Definition at line 2135 of file TGeoManager.cxx.
computes the total size in bytes of the branch starting with node.
The option can specify if all the branch has to be parsed or only the node
Definition at line 3665 of file TGeoManager.cxx.
void TGeoManager::SortOverlaps | ( | ) |
Sort overlaps by decreasing overlap distance. Extrusions comes first.
Definition at line 2275 of file TGeoManager.cxx.
Make a rectilinear step of length fStep from current point (fPoint) on current direction (fDirection).
If the step is imposed by geometry, is_geom flag must be true (default). The cross flag specifies if the boundary should be crossed in case of a geometry step (default true). Returns new node after step. Set also on boundary condition.
Definition at line 3391 of file TGeoManager.cxx.
Check time of finding "Where am I" for n points.
Definition at line 1782 of file TGeoManager.cxx.
void TGeoManager::TestOverlaps | ( | const char * | path = "" | ) |
Geometry overlap checker based on sampling.
Definition at line 1790 of file TGeoManager.cxx.
|
static |
Translates the current thread id to an ordinal number.
This can be used to manage data which is specific for a given thread.
Definition at line 905 of file TGeoManager.cxx.
Convert coordinates from top volume frame to master.
Definition at line 3980 of file TGeoManager.cxx.
Int_t TGeoManager::TransformVolumeToAssembly | ( | const char * | vname | ) |
Transform all volumes named VNAME to assemblies. The volumes must be virtual.
Definition at line 1084 of file TGeoManager.cxx.
Get the new 'unbombed' translation vector according current exploded view mode.
Definition at line 979 of file TGeoManager.cxx.
|
static |
Unlock current geometry.
Definition at line 3781 of file TGeoManager.cxx.
|
private |
Update element flags when geometry is loaded from a file.
Definition at line 3890 of file TGeoManager.cxx.
Set visualization option (leaves only OR all volumes)
Definition at line 2241 of file TGeoManager.cxx.
TGeoVolume * TGeoManager::Volume | ( | const char * | name, |
const char * | shape, | ||
Int_t | nmed, | ||
Double_t * | upar, | ||
Int_t | npar = 0 |
||
) |
Create a volume in GEANT3 style.
Definition at line 1285 of file TGeoManager.cxx.
TGeoVolume * TGeoManager::Volume | ( | const char * | name, |
const char * | shape, | ||
Int_t | nmed, | ||
Float_t * | upar, | ||
Int_t | npar = 0 |
||
) |
Create a volume in GEANT3 style.
Definition at line 1271 of file TGeoManager.cxx.
Voxelize all non-divided volumes.
Definition at line 2893 of file TGeoManager.cxx.
Estimate weight of volume VOL with a precision SIGMA(W)/W better than PRECISION.
Option can be "v" - verbose (default)
Definition at line 3637 of file TGeoManager.cxx.
|
private |
flag for GL reflections
Definition at line 93 of file TGeoManager.h.
|
mutableprivate |
Definition at line 143 of file TGeoManager.h.
|
private |
Definition at line 114 of file TGeoManager.h.
|
private |
Definition at line 108 of file TGeoManager.h.
|
private |
Definition at line 134 of file TGeoManager.h.
|
private |
Definition at line 83 of file TGeoManager.h.
|
private |
Lock existing navigators.
Definition at line 127 of file TGeoManager.h.
|
private |
Definition at line 80 of file TGeoManager.h.
|
private |
current navigator
Definition at line 128 of file TGeoManager.h.
|
private |
Definition at line 90 of file TGeoManager.h.
|
private |
clipping shape for raytracing
Definition at line 135 of file TGeoManager.h.
|
private |
Definition at line 74 of file TGeoManager.h.
|
staticprotected |
Precision to be used in ASCII exports.
Definition at line 60 of file TGeoManager.h.
|
private |
Definition at line 105 of file TGeoManager.h.
|
staticprotected |
Maximum number of Xtru vertices.
Definition at line 59 of file TGeoManager.h.
|
private |
Definition at line 132 of file TGeoManager.h.
mutex for navigator booking in MT mode
Definition at line 54 of file TGeoManager.h.
Number of registered threads.
Definition at line 126 of file TGeoManager.h.
|
staticprotected |
Maximum level in geometry.
Definition at line 57 of file TGeoManager.h.
|
staticprotected |
Verbosity level for Info messages (no IO).
Definition at line 56 of file TGeoManager.h.
|
staticprotected |
Maximum number of daughters.
Definition at line 58 of file TGeoManager.h.
|
staticprotected |
Definition at line 53 of file TGeoManager.h.
|
staticprivate |
Thread id's map.
Definition at line 125 of file TGeoManager.h.
|
private |
Definition at line 101 of file TGeoManager.h.
|
staticprivate |
Map between thread id's and navigator arrays.
Definition at line 124 of file TGeoManager.h.
|
staticprotected |
Lock preventing a second geometry to be loaded.
Definition at line 55 of file TGeoManager.h.
|
private |
list of runtime shapes
Definition at line 102 of file TGeoManager.h.
|
private |
hash list of volumes providing fast search
Definition at line 141 of file TGeoManager.h.
|
private |
hash list of group volumes providing fast search
Definition at line 142 of file TGeoManager.h.
|
private |
Definition at line 140 of file TGeoManager.h.
|
private |
flag set when reading geometry
Definition at line 87 of file TGeoManager.h.
|
private |
Definition at line 86 of file TGeoManager.h.
|
private |
switch ON/OFF volume activity (default OFF - all volumes active))
Definition at line 94 of file TGeoManager.h.
|
private |
Definition at line 146 of file TGeoManager.h.
|
private |
flag that geometry is closed
Definition at line 84 of file TGeoManager.h.
|
private |
top physical node
Definition at line 131 of file TGeoManager.h.
|
private |
Definition at line 109 of file TGeoManager.h.
|
private |
current painter
Definition at line 97 of file TGeoManager.h.
|
private |
flag for using GL matrix
Definition at line 92 of file TGeoManager.h.
|
private |
flag that the list of physical nodes has to be drawn
Definition at line 91 of file TGeoManager.h.
|
private |
Definition at line 148 of file TGeoManager.h.
|
private |
Definition at line 79 of file TGeoManager.h.
|
private |
Definition at line 110 of file TGeoManager.h.
|
private |
Max number of threads.
Definition at line 149 of file TGeoManager.h.
|
private |
Definition at line 123 of file TGeoManager.h.
|
private |
table of elements
Definition at line 137 of file TGeoManager.h.
|
private |
upper time limit for tracks drawing
Definition at line 70 of file TGeoManager.h.
|
private |
Definition at line 111 of file TGeoManager.h.
|
private |
current track
Definition at line 81 of file TGeoManager.h.
|
private |
Definition at line 145 of file TGeoManager.h.
|
private |
Definition at line 77 of file TGeoManager.h.
|
private |
Definition at line 78 of file TGeoManager.h.
|
private |
Definition at line 106 of file TGeoManager.h.
|
private |
Definition at line 112 of file TGeoManager.h.
|
private |
flag that nodes are the selected objects in pad rather than volumes
Definition at line 95 of file TGeoManager.h.
|
private |
Definition at line 138 of file TGeoManager.h.
|
private |
Definition at line 152 of file TGeoManager.h.
|
private |
path to current node
Definition at line 72 of file TGeoManager.h.
|
private |
Definition at line 71 of file TGeoManager.h.
|
private |
Definition at line 82 of file TGeoManager.h.
|
private |
Definition at line 104 of file TGeoManager.h.
|
private |
flag to notify that the manager is being destructed
Definition at line 88 of file TGeoManager.h.
|
private |
lowest range for phi cut
Definition at line 67 of file TGeoManager.h.
|
private |
Definition at line 66 of file TGeoManager.h.
|
private |
Definition at line 100 of file TGeoManager.h.
|
private |
Definition at line 153 of file TGeoManager.h.
|
private |
Flag for multi-threading.
Definition at line 150 of file TGeoManager.h.
|
private |
Definition at line 113 of file TGeoManager.h.
|
private |
Definition at line 98 of file TGeoManager.h.
|
private |
array of physical node entries
Definition at line 144 of file TGeoManager.h.
|
private |
Definition at line 107 of file TGeoManager.h.
|
private |
flag volume lists loop
Definition at line 85 of file TGeoManager.h.
|
private |
Definition at line 89 of file TGeoManager.h.
|
private |
lower time limit for tracks drawing
Definition at line 69 of file TGeoManager.h.
|
private |
highest range for phi cut
Definition at line 68 of file TGeoManager.h.
|
private |
top level volume in geometry
Definition at line 130 of file TGeoManager.h.
|
private |
current volume
Definition at line 129 of file TGeoManager.h.
|
private |
list of runtime volumes
Definition at line 103 of file TGeoManager.h.
|
private |
Definition at line 133 of file TGeoManager.h.
|
private |
Raytrace mode: 0=normal, 1=pass through, 2=transparent.
Definition at line 151 of file TGeoManager.h.
|
private |
volume currently painted
Definition at line 139 of file TGeoManager.h.
|
private |
Definition at line 147 of file TGeoManager.h.
|
private |
particles to be drawn
Definition at line 73 of file TGeoManager.h.
|
private |
Definition at line 76 of file TGeoManager.h.
|
private |
Definition at line 75 of file TGeoManager.h.
|
private |
Definition at line 99 of file TGeoManager.h.