![]() |
ATLAS Offline Software
|
Visitor to process all volumes under a GeoModel node. More...
#include "GeoPrimitives/GeoPrimitives.h"#include "GeoModelKernel/GeoNodeAction.h"#include "GeoModelKernel/GeoDefinitions.h"#include <vector>#include <variant>Go to the source code of this file.
Classes | |
| class | IGeoVisitVolumesAction |
| Define a simple callback for each volume found. More... | |
| class | IGeoVisitVolumesNoXformAction |
| Define a simple callback for each volume found, without keeping track of geometrical transforms. More... | |
| class | GeoVisitVolumes |
| Visitor to process all volumes under a GeoModel node. More... | |
| class | GeoVisitVolumesAction< FUNCTION > |
| Callback object calling a templated functional. More... | |
| class | GeoVisitVolumesNoXformAction< FUNCTION > |
| Callback object calling a templated functional. More... | |
Typedefs | |
| typedef std::vector< std::pair< const GeoVPhysVol *, GeoTrf::Transform3D > > | GeoVolumeVec_t |
| Return the child volumes and associated transforms. More... | |
Functions | |
| template<class FUNCTION > | |
| void | geoVisitVolumes (FUNCTION f, const GeoGraphNode *node, int depthLimit=1) |
| Template helper for running the visitor. More... | |
| template<class FUNCTION > | |
| void | geoVisitVolumesNoXform (FUNCTION f, const GeoGraphNode *node, int depthLimit=1) |
| Template helper for running the visitor. More... | |
| GeoVolumeVec_t | geoGetVolumes (const GeoGraphNode *node, int depthLimit=1, int sizeHint=20) |
| Return the child volumes and associated transforms. More... | |
| std::vector< const GeoVPhysVol * > | geoGetVolumesNoXform (const GeoGraphNode *node, int depthLimit=1, int sizeHint=20) |
| Return the child volumes. More... | |
Visitor to process all volumes under a GeoModel node.
Definition in file GeoVisitVolumes.h.
| typedef std::vector<std::pair<const GeoVPhysVol*, GeoTrf::Transform3D> > GeoVolumeVec_t |
Return the child volumes and associated transforms.
| node | Root of the graph to traverse. |
| depthLimit | Depth limit for the traversal. |
| sizeHint | Hint about the number of volumes to be returned, to allow avoiding resizes of the output vector. |
Returns a vector of (volume, transform) pairs for volumes in the graph. The same volume may be returned multiple times with different transforms in the case of a GeoSerialTransform.
Definition at line 219 of file GeoVisitVolumes.h.
| GeoVolumeVec_t geoGetVolumes | ( | const GeoGraphNode * | node, |
| int | depthLimit, | ||
| int | sizeHint | ||
| ) |
Return the child volumes and associated transforms.
| node | Root of the graph to traverse. |
| depthLimit | Depth limit for the traversal. |
| sizeHint | Hint about the number of volumes to be returned, to allow avoiding resizes of the output vector. |
Returns a vector of (volume, transform) pairs for volumes in the graph. The same volume may be returned multiple times with different transforms in the case of a GeoSerialTransform.
Definition at line 211 of file GeoVisitVolumes.cxx.
| std::vector<const GeoVPhysVol*> geoGetVolumesNoXform | ( | const GeoGraphNode * | node, |
| int | depthLimit, | ||
| int | sizeHint | ||
| ) |
Return the child volumes.
| node | Root of the graph to traverse. |
| depthLimit | Depth limit for the traversal. |
| sizeHint | Hint about the number of volumes to be returned, to allow avoiding resizes of the output vector. |
Returns a vector of volumes in the graph. The same volume may be returned multiple times in the case of a GeoSerialTransform.
Definition at line 240 of file GeoVisitVolumes.cxx.
| void geoVisitVolumes | ( | FUNCTION | f, |
| const GeoGraphNode * | node, | ||
| int | depthLimit = 1 |
||
| ) |
| void geoVisitVolumesNoXform | ( | FUNCTION | f, |
| const GeoGraphNode * | node, | ||
| int | depthLimit = 1 |
||
| ) |
Template helper for running the visitor.
This version doesn't supply transformation information.
Definition at line 199 of file GeoVisitVolumes.h.
1.8.18