EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/sPHENIX/Core/include/Acts/Geometry/TrackingVolume.hpp>
Public Member Functions | |
TrackingVolume ()=delete | |
~TrackingVolume () override | |
TrackingVolume (const TrackingVolume &)=delete | |
TrackingVolume & | operator= (const TrackingVolume &)=delete |
const Layer * | associatedLayer (const GeometryContext &gctx, const Vector3D &position) const |
std::vector< LayerIntersection > | compatibleLayers (const GeometryContext &gctx, const Vector3D &position, const Vector3D &direction, const NavigationOptions< Layer > &options) const |
Resolves the volume into (compatible) Layers. | |
std::vector< BoundaryIntersection > | compatibleBoundaries (const GeometryContext &gctx, const Vector3D &position, const Vector3D &direction, const NavigationOptions< Surface > &options, LoggerWrapper logger=getDummyLogger()) const |
Returns all boundary surfaces sorted by the user. | |
std::vector< SurfaceIntersection > | compatibleSurfacesFromHierarchy (const GeometryContext &gctx, const Vector3D &position, const Vector3D &direction, double angle, const NavigationOptions< Surface > &options) const |
Return surfaces in given direction from bounding volume hierarchy. | |
const TrackingVolume * | lowestTrackingVolume (const GeometryContext &gctx, const Vector3D &position, const double tol=0.) const |
const LayerArray * | confinedLayers () const |
std::shared_ptr< const TrackingVolumeArray > | confinedVolumes () const |
Return the confined volumes of this container array - if it exists. | |
const MutableTrackingVolumeVector | denseVolumes () const |
Return the confined dense volumes. | |
void | visitSurfaces (const std::function< void(const Acts::Surface *)> &visitor) const |
Visit all sensitive surfaces. | |
const std::string & | volumeName () const |
Returns the VolumeName - for debug reason, might be depreciated later. | |
const TrackingVolumeBoundaries & | boundarySurfaces () const |
Method to return the BoundarySurfaces. | |
const IVolumeMaterial * | volumeMaterial () const |
Return the material of the volume. | |
const std::shared_ptr< const IVolumeMaterial > & | volumeMaterialSharedPtr () const |
Return the material of the volume as shared pointer. | |
void | assignBoundaryMaterial (std::shared_ptr< const ISurfaceMaterial > surfaceMaterial, BoundarySurfaceFace bsFace) |
void | assignVolumeMaterial (std::shared_ptr< const IVolumeMaterial > material) |
void | glueTrackingVolume (const GeometryContext &gctx, BoundarySurfaceFace bsfMine, TrackingVolume *neighbor, BoundarySurfaceFace bsfNeighbor) |
void | glueTrackingVolumes (const GeometryContext &gctx, BoundarySurfaceFace bsfMine, const std::shared_ptr< TrackingVolumeArray > &neighbors, BoundarySurfaceFace bsfNeighbor) |
void | updateBoundarySurface (BoundarySurfaceFace bsf, std::shared_ptr< const BoundarySurfaceT< TrackingVolume >> bs, bool checkmaterial=true) |
void | registerGlueVolumeDescriptor (GlueVolumesDescriptor *gvd) |
GlueVolumesDescriptor & | glueVolumesDescriptor () |
bool | hasBoundingVolumeHierarchy () const |
void | registerColorCode (unsigned int icolor) |
unsigned int | colorCode () const |
Get the color code. | |
const TrackingVolume * | motherVolume () const |
Return the MotherVolume - if it exists. | |
void | setMotherVolume (const TrackingVolume *mvol) |
Public Member Functions inherited from Acts::Volume | |
Volume (const Transform3D &transform, VolumeBoundsPtr volbounds) | |
Volume (const Volume &vol, const Transform3D &shift=Transform3D::Identity()) | |
Volume ()=delete | |
virtual | ~Volume ()=default |
Volume & | operator= (const Volume &vol) |
const Transform3D & | transform () const |
Return methods for geometry transform. | |
const Transform3D & | itransform () const |
Returns the inverted transform of this volume. | |
const Vector3D & | center () const |
returns the center of the volume | |
const VolumeBounds & | volumeBounds () const |
returns the volumeBounds() | |
BoundingBox | boundingBox (const Vector3D &envelope={0, 0, 0}) const |
const BoundingBox & | orientedBoundingBox () const |
bool | inside (const Vector3D &gpos, double tol=0.) const |
Vector3D | binningPosition (const GeometryContext &gctx, BinningValue bValue) const override |
Public Member Functions inherited from Acts::GeometryObject | |
GeometryObject ()=default | |
Defaulted construrctor. | |
GeometryObject (const GeometryObject &)=default | |
Defaulted copy constructor. | |
GeometryObject (const GeometryIdentifier &geometryId) | |
GeometryObject & | operator= (const GeometryObject &geometryId) |
const GeometryIdentifier & | geometryId () const |
virtual double | binningPositionValue (const GeometryContext &gctx, BinningValue bValue) const |
void | assignGeometryId (const GeometryIdentifier &geometryId) |
Static Public Member Functions | |
static MutableTrackingVolumePtr | create (const Transform3D &transform, VolumeBoundsPtr volumeBounds, const std::shared_ptr< const TrackingVolumeArray > &containedVolumes=nullptr, const std::string &volumeName="undefined") |
static MutableTrackingVolumePtr | create (const Transform3D &transform, VolumeBoundsPtr volbounds, std::vector< std::unique_ptr< Volume::BoundingBox >> boxStore, std::vector< std::unique_ptr< const Volume >> descendants, const Volume::BoundingBox *top, std::shared_ptr< const IVolumeMaterial > volumeMaterial, const std::string &volumeName="undefined") |
static MutableTrackingVolumePtr | create (const Transform3D &transform, VolumeBoundsPtr volumeBounds, std::shared_ptr< const IVolumeMaterial > volumeMaterial, std::unique_ptr< const LayerArray > containedLayers=nullptr, std::shared_ptr< const TrackingVolumeArray > containedVolumes=nullptr, MutableTrackingVolumeVector denseVolumes={}, const std::string &volumeName="undefined") |
Protected Member Functions | |
TrackingVolume (const Transform3D &transform, VolumeBoundsPtr volbounds, const std::shared_ptr< const TrackingVolumeArray > &containedVolumeArray=nullptr, const std::string &volumeName="undefined") | |
TrackingVolume (const Transform3D &transform, VolumeBoundsPtr volbounds, std::vector< std::unique_ptr< Volume::BoundingBox >> boxStore, std::vector< std::unique_ptr< const Volume >> descendants, const Volume::BoundingBox *top, std::shared_ptr< const IVolumeMaterial > volumeMaterial, const std::string &volumeName="undefined") | |
TrackingVolume (const Transform3D &transform, VolumeBoundsPtr volumeBounds, std::shared_ptr< const IVolumeMaterial > volumeMaterial, std::unique_ptr< const LayerArray > staticLayerArray=nullptr, std::shared_ptr< const TrackingVolumeArray > containedVolumeArray=nullptr, MutableTrackingVolumeVector denseVolumeVector={}, const std::string &volumeName="undefined") | |
Private Member Functions | |
void | connectDenseBoundarySurfaces (MutableTrackingVolumeVector &confinedDenseVolumes) |
void | createBoundarySurfaces () |
Create Boundary Surface. | |
void | synchronizeLayers (double envelope=1.) const |
void | closeGeometry (const IMaterialDecorator *materialDecorator, std::map< std::string, const TrackingVolume * > &volumeMap, size_t &vol) |
void | interlinkLayers () |
interlink the layers in this TrackingVolume | |
Private Attributes | |
std::shared_ptr< const IVolumeMaterial > | m_volumeMaterial {nullptr} |
The volume based material the TrackingVolume consists of. | |
const TrackingVolume * | m_motherVolume {nullptr} |
Remember the mother volume. | |
std::vector < TrackingVolumeBoundaryPtr > | m_boundarySurfaces |
std::unique_ptr< const LayerArray > | m_confinedLayers = nullptr |
std::shared_ptr< const TrackingVolumeArray > | m_confinedVolumes = nullptr |
Array of Volumes inside the Volume when actin as container. | |
MutableTrackingVolumeVector | m_confinedDenseVolumes |
confined dense | |
GlueVolumesDescriptor * | m_glueVolumeDescriptor {nullptr} |
Volumes to glue Volumes from the outside. | |
std::string | m_name |
Volume name for debug reasons & screen output. | |
unsigned int | m_colorCode {20} |
color code for displaying | |
std::vector< std::unique_ptr < const Volume::BoundingBox > > | m_boundingBoxes |
Bounding Volume Hierarchy (BVH) | |
std::vector< std::unique_ptr < const Volume > > | m_descendantVolumes |
const Volume::BoundingBox * | m_bvhTop {nullptr} |
Friends | |
class | TrackingGeometry |
Additional Inherited Members | |
Public Types inherited from Acts::Volume | |
using | BoundingBox = AxisAlignedBoundingBox< Volume, double, 3 > |
Protected Attributes inherited from Acts::Volume | |
Transform3D | m_transform |
Transform3D | m_itransform |
Vector3D | m_center |
VolumeBoundsPtr | m_volumeBounds |
BoundingBox | m_orientedBoundingBox |
Full Volume description used in Tracking, it inherits from Volume to get the geometrical structure.
A TrackingVolume at navigation level can provide the (layer) material
information / internal navigation with in 5 different ways:
--- a) Static confinement of Layers --- b) detached sub volumes --- b) unordered (arbitrarily oriented) layers --- d) unordered sub volumes --- e) unordered layers AND unordered subvolumes
The TrackingVolume can also be a simple container of other TrackingVolumes
In addition it is capable of holding a subarray of Layers and TrackingVolumes.
Definition at line 81 of file TrackingVolume.hpp.
View newest version in sPHENIX GitHub at line 81 of file TrackingVolume.hpp
|
delete |
|
override |
Definition at line 76 of file TrackingVolume.cpp.
View newest version in sPHENIX GitHub at line 76 of file TrackingVolume.cpp
|
delete |
|
protected |
Constructor for a container Volume
transform | is the global 3D transform to position the volume in space |
volbounds | is the description of the volume boundaries |
containedVolumeArray | are the static volumes that fill this volume |
volumeName | is a string identifier |
Definition at line 21 of file TrackingVolume.cpp.
View newest version in sPHENIX GitHub at line 21 of file TrackingVolume.cpp
References createBoundarySurfaces(), and interlinkLayers().
|
protected |
Definition at line 55 of file TrackingVolume.cpp.
View newest version in sPHENIX GitHub at line 55 of file TrackingVolume.cpp
References createBoundarySurfaces(), and m_boundingBoxes.
|
protected |
Constructor for a full equipped Tracking Volume
transform | is the global 3D transform to position the volume in space |
volumeBounds | is the description of the volume boundaries |
volumeMaterial | is are materials of the tracking volume |
staticLayerArray | is the confined layer array (optional) |
containedVolumeArray | are the sub volumes if the volume is a container |
denseVolumeVector | The contained dense volumes |
volumeName | is a string identifier |
Definition at line 36 of file TrackingVolume.cpp.
View newest version in sPHENIX GitHub at line 36 of file TrackingVolume.cpp
void Acts::TrackingVolume::assignBoundaryMaterial | ( | std::shared_ptr< const ISurfaceMaterial > | surfaceMaterial, |
BoundarySurfaceFace | bsFace | ||
) |
Set the boundary surface material description
The material is usually derived in a complicated way and loaded from a framework given source. As various volumes could potentially share the the same material description, it is provided as a shared object
material | Material description of this volume |
Definition at line 245 of file TrackingVolume.cpp.
View newest version in sPHENIX GitHub at line 245 of file TrackingVolume.cpp
References Acts::Surface::assignSurfaceMaterial(), and surface().
|
inline |
Set the volume material description
The material is usually derived in a complicated way and loaded from a framework given source. As various volumes could potentially share the the same material description, it is provided as a shared object
material | Material description of this volume |
Definition at line 469 of file TrackingVolume.hpp.
View newest version in sPHENIX GitHub at line 469 of file TrackingVolume.hpp
References m_volumeMaterial.
|
inline |
Return the associated Layer to the global position
gctx | The current geometry context object, e.g. alignment |
position | is the associated global position |
Definition at line 9 of file TrackingVolume.ipp.
View newest version in sPHENIX GitHub at line 9 of file TrackingVolume.ipp
Referenced by Acts::TrackingGeometry::associatedLayer(), and Acts::Test::BOOST_AUTO_TEST_CASE().
const Acts::TrackingVolumeBoundaries & Acts::TrackingVolume::boundarySurfaces | ( | ) | const |
Method to return the BoundarySurfaces.
Definition at line 98 of file TrackingVolume.cpp.
View newest version in sPHENIX GitHub at line 98 of file TrackingVolume.cpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), ActsExamples::RootMaterialWriter::collectMaterial(), Acts::VolumeMaterialMapper::collectMaterialSurfaces(), Acts::JsonGeometryConverter::convertToRep(), Acts::GeometryView3D::drawTrackingVolume(), Acts::CylinderVolumeHelper::glueTrackingVolumes(), and Acts::SurfaceMaterialMapper::resolveMaterialSurfaces().
|
private |
close the Geometry, i.e. set the GeometryIdentifier and assign material
materialDecorator | is a dedicated decorator for the material to be assigned (surface, volume based) |
volumeMap | is a map to find the a volume by a given name |
vol | is the geometry id of the volume as calculated by the TrackingGeometry |
Definition at line 347 of file TrackingVolume.cpp.
View newest version in sPHENIX GitHub at line 347 of file TrackingVolume.cpp
References Acts::GeometryObject::assignGeometryId(), Acts::AbstractVolume::boundarySurfaces(), Acts::Layer::closeGeometry(), boost::const_pointer_cast(), Acts::IMaterialDecorator::decorate(), Acts::GeometryIdentifier::setBoundary(), Acts::GeometryIdentifier::setLayer(), setMotherVolume(), Acts::GeometryIdentifier::setSensitive(), and Acts::GeometryIdentifier::setVolume().
|
inline |
Get the color code.
Definition at line 491 of file TrackingVolume.hpp.
View newest version in sPHENIX GitHub at line 491 of file TrackingVolume.hpp
References m_colorCode.
std::vector< Acts::BoundaryIntersection > Acts::TrackingVolume::compatibleBoundaries | ( | const GeometryContext & | gctx, |
const Vector3D & | position, | ||
const Vector3D & | direction, | ||
const NavigationOptions< Surface > & | options, | ||
LoggerWrapper | logger = getDummyLogger() |
||
) | const |
Returns all boundary surfaces sorted by the user.
options_t | Type of navigation options object for decomposition |
sorter_t | Type of the boundary surface sorter |
gctx | The current geometry context object, e.g. alignment |
position | The position for searching |
direction | The direction for searching |
options | The templated navigation options |
sorter | Sorter of the boundary surfaces |
Helper function to process boundary surfaces
Definition at line 467 of file TrackingVolume.cpp.
View newest version in sPHENIX GitHub at line 467 of file TrackingVolume.cpp
References ACTS_VERBOSE, Acts::ObjectIntersection< object_t, representation_t >::alternative, Acts::NavigationOptions< object_t >::boundaryCheck, Acts::forward, Acts::ObjectIntersection< object_t, representation_t >::intersection, Acts::LoggerWrapper::log(), Acts::NavigationOptions< object_t >::navDir, Acts::ObjectIntersection< object_t, representation_t >::object, Acts::NavigationOptions< object_t >::overstepLimit, Acts::Intersection< DIM >::pathLength, Acts::NavigationOptions< object_t >::pathLimit, Acts::s_onSurfaceTolerance, Acts::NavigationOptions< object_t >::startObject, and Acts::Logging::VERBOSE.
std::vector< Acts::LayerIntersection > Acts::TrackingVolume::compatibleLayers | ( | const GeometryContext & | gctx, |
const Vector3D & | position, | ||
const Vector3D & | direction, | ||
const NavigationOptions< Layer > & | options | ||
) | const |
Resolves the volume into (compatible) Layers.
This is the method for the propagator/extrapolator
options_t | Type of navigation options object for decomposition |
gctx | The current geometry context object, e.g. alignment |
position | Position for the search |
direction | Direction for the search |
options | The templated navigation options |
Definition at line 596 of file TrackingVolume.cpp.
View newest version in sPHENIX GitHub at line 596 of file TrackingVolume.cpp
References Acts::NavigationOptions< object_t >::endObject, Acts::forward, Acts::ObjectIntersection< object_t, representation_t >::intersection, Acts::NavigationOptions< object_t >::navDir, Acts::Layer::nextLayer(), Acts::Intersection< DIM >::pathLength, Acts::NavigationOptions< object_t >::pathLimit, Acts::Layer::resolve(), Acts::NavigationOptions< object_t >::startObject, Acts::Layer::surfaceOnApproach(), and Acts::NavigationOptions< object_t >::targetSurface.
std::vector< Acts::SurfaceIntersection > Acts::TrackingVolume::compatibleSurfacesFromHierarchy | ( | const GeometryContext & | gctx, |
const Vector3D & | position, | ||
const Vector3D & | direction, | ||
double | angle, | ||
const NavigationOptions< Surface > & | options | ||
) | const |
Return surfaces in given direction from bounding volume hierarchy.
options_t | Type of navigation options object for decomposition |
gctx | The current geometry context object, e.g. alignment |
position | The position to start from |
direction | The direction towards which to test |
angle | The opening angle |
options | The templated navigation options |
Definition at line 679 of file TrackingVolume.cpp.
View newest version in sPHENIX GitHub at line 679 of file TrackingVolume.cpp
References Acts::AbstractVolume::boundarySurfaces(), Acts::forward, Acts::Surface::intersect(), Acts::NavigationOptions< object_t >::navDir, Acts::NavigationOptions< object_t >::overstepLimit, and Acts::NavigationOptions< object_t >::pathLimit.
|
inline |
Return the confined static layer array - if it exists
Definition at line 474 of file TrackingVolume.hpp.
View newest version in sPHENIX GitHub at line 474 of file TrackingVolume.hpp
References m_confinedLayers.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), ActsExamples::RootMaterialWriter::collectMaterial(), Acts::VolumeMaterialMapper::collectMaterialSurfaces(), Acts::JsonGeometryConverter::convertToRep(), Acts::GeometryView3D::drawTrackingVolume(), Acts::VolumeSelector::operator()(), and Acts::SurfaceMaterialMapper::resolveMaterialSurfaces().
|
inline |
Return the confined volumes of this container array - if it exists.
Definition at line 483 of file TrackingVolume.hpp.
View newest version in sPHENIX GitHub at line 483 of file TrackingVolume.hpp
References m_confinedVolumes.
Referenced by ActsExamples::RootMaterialWriter::collectMaterial(), Acts::VolumeMaterialMapper::collectMaterialSurfaces(), Acts::SurfaceMaterialMapper::collectMaterialVolumes(), Acts::JsonGeometryConverter::convertToRep(), Acts::GeometryView3D::drawTrackingVolume(), Acts::SurfaceMaterialMapper::resolveMaterialSurfaces(), and Acts::VolumeMaterialMapper::resolveMaterialVolume().
|
private |
Definition at line 103 of file TrackingVolume.cpp.
View newest version in sPHENIX GitHub at line 103 of file TrackingVolume.cpp
References Acts::backward, boost::const_pointer_cast(), Acts::forward, and Acts::Test::navDir.
|
inlinestatic |
Factory constructor for a container TrackingVolume
transform | is the global 3D transform to position the volume in space |
volumeBounds | is the description of the volume boundaries |
containedVolumes | are the static volumes that fill this volume |
volumeName | is a string identifier |
Definition at line 100 of file TrackingVolume.hpp.
View newest version in sPHENIX GitHub at line 100 of file TrackingVolume.hpp
References TrackingVolume(), and volumeName().
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::CuboidVolumeBuilder::buildVolume(), Acts::DD4hepVolumeBuilder::centralVolumes(), Acts::constructContainerVolume(), Acts::constructCylinderVolume(), Acts::CylinderVolumeHelper::createContainerTrackingVolume(), EmptyDetector::finalize(), Acts::Test::CubicTrackingGeometry::operator()(), Acts::Test::CylindricalTrackingGeometry::operator()(), and Acts::CuboidVolumeBuilder::trackingVolume().
|
inlinestatic |
Factory constructor for Tracking Volume with a bounding volume hierarchy
transform | is the global 3D transform to position the volume in space |
volBounds | is the description of the volume boundaries |
boxStore | Vector owning the contained bounding boxes |
descendants | Vector owning the child volumes |
top | The top of the hierarchy (top node) |
matprop | is are materials of the tracking volume |
volumeName | is a string identifier |
Definition at line 121 of file TrackingVolume.hpp.
View newest version in sPHENIX GitHub at line 121 of file TrackingVolume.hpp
References TrackingVolume(), and volumeName().
|
inlinestatic |
Factory constructor for Tracking Volumes with content
transform | is the global 3D transform to position the volume in space |
volumeBounds | is the description of the volume boundaries |
matprop | is are materials of the tracking volume |
containedLayers | is the confined layer array (optional) |
containedVolumes | is the confined volume array (optional) |
volumeName | is a string identifier |
Definition at line 145 of file TrackingVolume.hpp.
View newest version in sPHENIX GitHub at line 145 of file TrackingVolume.hpp
|
private |
Create Boundary Surface.
Definition at line 144 of file TrackingVolume.cpp.
View newest version in sPHENIX GitHub at line 144 of file TrackingVolume.cpp
References Acts::backward, m_transform(), Acts::VolumeBounds::orientedSurfaces(), and Acts::Volume::volumeBounds().
Referenced by TrackingVolume().
|
inline |
Return the confined dense volumes.
Definition at line 478 of file TrackingVolume.hpp.
View newest version in sPHENIX GitHub at line 478 of file TrackingVolume.hpp
References m_confinedDenseVolumes.
Referenced by Acts::SurfaceMaterialMapper::collectMaterialVolumes(), Acts::JsonGeometryConverter::convertToRep(), and Acts::VolumeMaterialMapper::resolveMaterialVolume().
void Acts::TrackingVolume::glueTrackingVolume | ( | const GeometryContext & | gctx, |
BoundarySurfaceFace | bsfMine, | ||
TrackingVolume * | neighbor, | ||
BoundarySurfaceFace | bsfNeighbor | ||
) |
Glue another tracking volume to this one
gctx | The current geometry context object, e.g. alignment |
bsfMine | is the boundary face indicater where to glue |
neighbor | is the TrackingVolume to be glued |
bsfNeighbor | is the boudnary surface of the neighbor |
Definition at line 164 of file TrackingVolume.cpp.
View newest version in sPHENIX GitHub at line 164 of file TrackingVolume.cpp
References Acts::Surface::assignSurfaceMaterial(), Acts::Test::at, Acts::BoundarySurfaceT< volume_t >::attachVolume(), Acts::backward, Acts::Volume::binningPosition(), Acts::binR, boost::const_pointer_cast(), Acts::forward, m_boundarySurfaces, Acts::Test::navDir, and Acts::Surface::surfaceMaterialSharedPtr().
void Acts::TrackingVolume::glueTrackingVolumes | ( | const GeometryContext & | gctx, |
BoundarySurfaceFace | bsfMine, | ||
const std::shared_ptr< TrackingVolumeArray > & | neighbors, | ||
BoundarySurfaceFace | bsfNeighbor | ||
) |
Glue another tracking volume to this one
gctx | The current geometry context object, e.g. alignment |
bsfMine | is the boundary face indicater where to glue |
neighbors | are the TrackingVolumes to be glued |
bsfNeighbor | are the boudnary surface of the neighbors |
Definition at line 207 of file TrackingVolume.cpp.
View newest version in sPHENIX GitHub at line 207 of file TrackingVolume.cpp
References Acts::Test::at, Acts::BoundarySurfaceT< volume_t >::attachVolumeArray(), Acts::backward, Acts::binR, boost::const_pointer_cast(), Acts::forward, and Acts::Test::navDir.
Acts::GlueVolumesDescriptor & Acts::TrackingVolume::glueVolumesDescriptor | ( | ) |
Register the outside glue volumes - ordering is in the TrackingVolume Frame:
Definition at line 276 of file TrackingVolume.cpp.
View newest version in sPHENIX GitHub at line 276 of file TrackingVolume.cpp
|
inline |
Return whether this TrackingVolume has a BoundingVolumeHierarchy associated
Definition at line 503 of file TrackingVolume.hpp.
View newest version in sPHENIX GitHub at line 503 of file TrackingVolume.hpp
References m_bvhTop.
|
private |
interlink the layers in this TrackingVolume
Definition at line 317 of file TrackingVolume.cpp.
View newest version in sPHENIX GitHub at line 317 of file TrackingVolume.cpp
References boost::const_pointer_cast(), Acts::Layer::encloseTrackingVolume(), Acts::Layer::m_nextLayers, and Acts::Layer::m_nextLayerUtility.
Referenced by TrackingVolume().
const Acts::TrackingVolume * Acts::TrackingVolume::lowestTrackingVolume | ( | const GeometryContext & | gctx, |
const Vector3D & | position, | ||
const double | tol = 0. |
||
) | const |
Return the associated sub Volume, returns THIS if no subVolume exists
gctx | The current geometry context object, e.g. alignment |
position | is the global position associated with that search |
tol | Search position tolerance for dense volumes |
Definition at line 80 of file TrackingVolume.cpp.
View newest version in sPHENIX GitHub at line 80 of file TrackingVolume.cpp
Referenced by Acts::TrackingGeometry::lowestTrackingVolume().
|
inline |
Return the MotherVolume - if it exists.
Definition at line 495 of file TrackingVolume.hpp.
View newest version in sPHENIX GitHub at line 495 of file TrackingVolume.hpp
References m_motherVolume.
|
delete |
|
inline |
Register the color code
icolor | is a color number |
Definition at line 487 of file TrackingVolume.hpp.
View newest version in sPHENIX GitHub at line 487 of file TrackingVolume.hpp
References m_colorCode.
void Acts::TrackingVolume::registerGlueVolumeDescriptor | ( | GlueVolumesDescriptor * | gvd | ) |
Register the outside glue volumes - ordering is in the TrackingVolume Frame:
gvd | register a new GlueVolumeDescriptor |
Definition at line 270 of file TrackingVolume.cpp.
View newest version in sPHENIX GitHub at line 270 of file TrackingVolume.cpp
|
inline |
Set the MotherVolume
mvol | is the mother volume |
Definition at line 499 of file TrackingVolume.hpp.
View newest version in sPHENIX GitHub at line 499 of file TrackingVolume.hpp
References m_motherVolume.
Referenced by closeGeometry().
|
private |
method to synchronize the layers with potentially updated volume bounds:
envelope | is the clearance between volume boundary and layer |
Definition at line 283 of file TrackingVolume.cpp.
View newest version in sPHENIX GitHub at line 283 of file TrackingVolume.cpp
void Acts::TrackingVolume::updateBoundarySurface | ( | BoundarySurfaceFace | bsf, |
std::shared_ptr< const BoundarySurfaceT< TrackingVolume >> | bs, | ||
bool | checkmaterial = true |
||
) |
Provide a new BoundarySurface from the glueing
bsf | is the boundary face indicater where to glue |
bs | is the new boudnary surface |
checkmaterial | is a flag how to deal with material, if true:
|
Definition at line 253 of file TrackingVolume.cpp.
View newest version in sPHENIX GitHub at line 253 of file TrackingVolume.cpp
References Acts::Surface::assignSurfaceMaterial(), and surface().
void Acts::TrackingVolume::visitSurfaces | ( | const std::function< void(const Acts::Surface *)> & | visitor | ) | const |
Visit all sensitive surfaces.
visitor | The callable. Will be called for each sensitive surface that is found |
If a context is needed for the vist, the vistitor has to provide this e.g. as a private member
Definition at line 442 of file TrackingVolume.cpp.
View newest version in sPHENIX GitHub at line 442 of file TrackingVolume.cpp
References G4TTL::layer, and Acts::Test::volume.
|
inline |
Return the material of the volume.
Definition at line 460 of file TrackingVolume.hpp.
View newest version in sPHENIX GitHub at line 460 of file TrackingVolume.hpp
References m_volumeMaterial.
Referenced by Acts::VolumeMaterialMapper::checkAndInsert(), Acts::SurfaceMaterialMapper::collectMaterialVolumes(), Acts::JsonGeometryConverter::convertToRep(), Acts::VolumeSelector::operator()(), Acts::MaterialVolume::operator()(), Acts::MaterialInteractor::operator()(), and Acts::VolumeMaterialMapper::MaterialVolumeSelector::operator()().
|
inline |
Return the material of the volume as shared pointer.
Definition at line 465 of file TrackingVolume.hpp.
View newest version in sPHENIX GitHub at line 465 of file TrackingVolume.hpp
References m_volumeMaterial.
Referenced by ActsExamples::RootMaterialWriter::collectMaterial(), and Acts::SurfaceMaterialMapper::collectMaterialVolumes().
|
inline |
Returns the VolumeName - for debug reason, might be depreciated later.
Definition at line 456 of file TrackingVolume.hpp.
View newest version in sPHENIX GitHub at line 456 of file TrackingVolume.hpp
References m_name.
Referenced by Acts::VolumeMaterialMapper::collectMaterialSurfaces(), Acts::SurfaceMaterialMapper::collectMaterialVolumes(), Acts::JsonGeometryConverter::convertToRep(), create(), Acts::JsonGeometryConverter::DefaultBin(), Acts::GeometryView3D::drawTrackingVolume(), Acts::SurfaceMaterialMapper::resolveMaterialSurfaces(), and Acts::VolumeMaterialMapper::resolveMaterialVolume().
|
friend |
Definition at line 82 of file TrackingVolume.hpp.
View newest version in sPHENIX GitHub at line 82 of file TrackingVolume.hpp
|
private |
Definition at line 429 of file TrackingVolume.hpp.
View newest version in sPHENIX GitHub at line 429 of file TrackingVolume.hpp
Referenced by glueTrackingVolume().
|
private |
Bounding Volume Hierarchy (BVH)
Definition at line 451 of file TrackingVolume.hpp.
View newest version in sPHENIX GitHub at line 451 of file TrackingVolume.hpp
Referenced by TrackingVolume().
|
private |
Definition at line 453 of file TrackingVolume.hpp.
View newest version in sPHENIX GitHub at line 453 of file TrackingVolume.hpp
Referenced by hasBoundingVolumeHierarchy().
|
private |
color code for displaying
Definition at line 448 of file TrackingVolume.hpp.
View newest version in sPHENIX GitHub at line 448 of file TrackingVolume.hpp
Referenced by colorCode(), and registerColorCode().
|
private |
confined dense
Definition at line 439 of file TrackingVolume.hpp.
View newest version in sPHENIX GitHub at line 439 of file TrackingVolume.hpp
Referenced by denseVolumes().
|
private |
(a) static configuration ordered by Binned arrays static layers
Definition at line 433 of file TrackingVolume.hpp.
View newest version in sPHENIX GitHub at line 433 of file TrackingVolume.hpp
Referenced by confinedLayers().
|
private |
Array of Volumes inside the Volume when actin as container.
Definition at line 436 of file TrackingVolume.hpp.
View newest version in sPHENIX GitHub at line 436 of file TrackingVolume.hpp
Referenced by confinedVolumes().
|
private |
Definition at line 452 of file TrackingVolume.hpp.
View newest version in sPHENIX GitHub at line 452 of file TrackingVolume.hpp
|
private |
Volumes to glue Volumes from the outside.
Definition at line 442 of file TrackingVolume.hpp.
View newest version in sPHENIX GitHub at line 442 of file TrackingVolume.hpp
|
private |
Remember the mother volume.
Definition at line 426 of file TrackingVolume.hpp.
View newest version in sPHENIX GitHub at line 426 of file TrackingVolume.hpp
Referenced by motherVolume(), and setMotherVolume().
|
private |
Volume name for debug reasons & screen output.
Definition at line 445 of file TrackingVolume.hpp.
View newest version in sPHENIX GitHub at line 445 of file TrackingVolume.hpp
Referenced by volumeName().
|
private |
The volume based material the TrackingVolume consists of.
Definition at line 423 of file TrackingVolume.hpp.
View newest version in sPHENIX GitHub at line 423 of file TrackingVolume.hpp
Referenced by assignVolumeMaterial(), volumeMaterial(), and volumeMaterialSharedPtr().