Analysis Software
Documentation for sPHENIX simulation software
|
#include <acts/blob/sPHENIX/Core/include/Acts/Geometry/TrackingGeometry.hpp>
Public Member Functions | |
TrackingGeometry (const MutableTrackingVolumePtr &highestVolume, const IMaterialDecorator *materialDecorator=nullptr, const GeometryIdentifierHook &hook={}, const Logger &logger=getDummyLogger()) | |
~TrackingGeometry () | |
Destructor. | |
const TrackingVolume * | highestTrackingVolume () const |
const std::shared_ptr< const TrackingVolume > & | highestTrackingVolumeShared () const |
const TrackingVolume * | lowestTrackingVolume (const GeometryContext &gctx, const Vector3 &gp) const |
const Layer * | associatedLayer (const GeometryContext &gctx, const Vector3 &gp) const |
void | registerBeamTube (std::shared_ptr< const PerigeeSurface > beam) |
const Surface * | getBeamline () const |
surface representing the beam pipe | |
template<ACTS_CONCEPT(SurfaceVisitor) visitor_t> | |
void | visitSurfaces (visitor_t &&visitor) const |
Visit all sensitive surfaces. | |
const TrackingVolume * | findVolume (GeometryIdentifier id) const |
const Surface * | findSurface (GeometryIdentifier id) const |
Private Attributes | |
TrackingVolumePtr | m_world |
std::shared_ptr< const PerigeeSurface > | m_beam |
std::unordered_map < GeometryIdentifier, const TrackingVolume * > | m_volumesById |
std::unordered_map < GeometryIdentifier, const Surface * > | m_surfacesById |
Friends | |
class | TrackingGeometryBuilder |
Give the GeometryBuilder friend rights. | |
The TrackingGeometry class is the owner of the constructed TrackingVolumes.
It enables both, a global search for an asociatedVolume (respectively, if existing, a global search of an associated Layer or the next associated Layer), such as a continuous navigation by BoundarySurfaces between the confined TrackingVolumes.
Definition at line 43 of file TrackingGeometry.hpp.
View newest version in sPHENIX GitHub at line 43 of file TrackingGeometry.hpp
Acts::TrackingGeometry::TrackingGeometry | ( | const MutableTrackingVolumePtr & | highestVolume, |
const IMaterialDecorator * | materialDecorator = nullptr , |
||
const GeometryIdentifierHook & | hook = {} , |
||
const Logger & | logger = getDummyLogger() |
||
) |
Constructor
highestVolume | is the world volume |
materialDecorator | is a dediated decorator that can assign surface or volume based material to the TrackingVolume |
hook | Identifier hook to be applied to surfaces |
logger | instance of a logger (defaulting to the "silent" one) |
Definition at line 21 of file TrackingGeometry.cpp.
View newest version in sPHENIX GitHub at line 21 of file TrackingGeometry.cpp
References Acts::GeometryObject::geometryId(), m_surfacesById, m_volumesById, and m_world.
|
default |
Destructor.
const Acts::Layer * Acts::TrackingGeometry::associatedLayer | ( | const GeometryContext & | gctx, |
const Vector3 & | gp | ||
) | const |
Forward the associated Layer information
gctx | is the context for this request (e.g. alignment) |
gp | is the global position of the call |
Definition at line 64 of file TrackingGeometry.cpp.
View newest version in sPHENIX GitHub at line 64 of file TrackingGeometry.cpp
References Acts::TrackingVolume::associatedLayer().
const Acts::Surface * Acts::TrackingGeometry::findSurface | ( | GeometryIdentifier | id | ) | const |
Search for a surface with the given identifier.
id | is the geometry identifier of the surface |
nullptr | if no such surface exists |
pointer | to the found surface otherwise. |
Definition at line 88 of file TrackingGeometry.cpp.
View newest version in sPHENIX GitHub at line 88 of file TrackingGeometry.cpp
Referenced by ActsExamples::IndexSourceLink::SurfaceAccessor::operator()(), ActsSourceLink::SurfaceAccessor::operator()(), and Acts::Test::TestSourceLink::SurfaceAccessor::operator()().
const Acts::TrackingVolume * Acts::TrackingGeometry::findVolume | ( | GeometryIdentifier | id | ) | const |
Search for a volume with the given identifier.
id | is the geometry identifier of the volume |
nullptr | if no such volume exists |
pointer | to the found volume otherwise. |
Definition at line 79 of file TrackingGeometry.cpp.
View newest version in sPHENIX GitHub at line 79 of file TrackingGeometry.cpp
const Acts::Surface * Acts::TrackingGeometry::getBeamline | ( | ) | const |
surface representing the beam pipe
Definition at line 75 of file TrackingGeometry.cpp.
View newest version in sPHENIX GitHub at line 75 of file TrackingGeometry.cpp
const Acts::TrackingVolume * Acts::TrackingGeometry::highestTrackingVolume | ( | ) | const |
Access to the world volume
Definition at line 54 of file TrackingGeometry.cpp.
View newest version in sPHENIX GitHub at line 54 of file TrackingGeometry.cpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::Svg::TrackingGeometryConverter::convert(), Acts::Svg::TrackingGeometryProjections::convert(), Acts::VolumeMaterialMapper::createState(), Acts::SurfaceMaterialMapper::createState(), Acts::MaterialMapJsonConverter::trackingGeometryToJson(), visitSurfaces(), ActsExamples::ObjTrackingGeometryWriter::write(), and ActsExamples::RootMaterialWriter::write().
const std::shared_ptr< const Acts::TrackingVolume > & Acts::TrackingGeometry::highestTrackingVolumeShared | ( | ) | const |
Access to the world volume
Definition at line 60 of file TrackingGeometry.cpp.
View newest version in sPHENIX GitHub at line 60 of file TrackingGeometry.cpp
Referenced by Acts::Python::addGeometry().
const Acts::TrackingVolume * Acts::TrackingGeometry::lowestTrackingVolume | ( | const GeometryContext & | gctx, |
const Vector3 & | gp | ||
) | const |
return the lowest tracking Volume
gctx | The current geometry context object, e.g. alignment |
gp | is the global position of the call |
Definition at line 43 of file TrackingGeometry.cpp.
View newest version in sPHENIX GitHub at line 43 of file TrackingGeometry.cpp
References Acts::TrackingVolume::lowestTrackingVolume().
void Acts::TrackingGeometry::registerBeamTube | ( | std::shared_ptr< const PerigeeSurface > | beam | ) |
Register the beam tube
beam | is the beam line surface |
Definition at line 70 of file TrackingGeometry.cpp.
View newest version in sPHENIX GitHub at line 70 of file TrackingGeometry.cpp
References testing::internal::move().
|
inline |
Visit all sensitive surfaces.
visitor_t | Type of the callable visitor |
visitor | The callable. Will be called for each sensitive surface that is found |
Definition at line 110 of file TrackingGeometry.hpp.
View newest version in sPHENIX GitHub at line 110 of file TrackingGeometry.hpp
References highestTrackingVolume().
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), and ActsExamples::Contextual::ExternalAlignmentDecorator::parseGeometry().
|
friend |
Give the GeometryBuilder friend rights.
Definition at line 45 of file TrackingGeometry.hpp.
View newest version in sPHENIX GitHub at line 45 of file TrackingGeometry.hpp
|
private |
Definition at line 133 of file TrackingGeometry.hpp.
View newest version in sPHENIX GitHub at line 133 of file TrackingGeometry.hpp
|
private |
Definition at line 136 of file TrackingGeometry.hpp.
View newest version in sPHENIX GitHub at line 136 of file TrackingGeometry.hpp
Referenced by TrackingGeometry().
|
private |
Definition at line 135 of file TrackingGeometry.hpp.
View newest version in sPHENIX GitHub at line 135 of file TrackingGeometry.hpp
Referenced by TrackingGeometry().
|
private |
Definition at line 131 of file TrackingGeometry.hpp.
View newest version in sPHENIX GitHub at line 131 of file TrackingGeometry.hpp
Referenced by TrackingGeometry().