Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::TrackingGeometry Class Reference

#include <acts/blob/sPHENIX/Core/include/Acts/Geometry/TrackingGeometry.hpp>

+ Collaboration diagram for Acts::TrackingGeometry:

Public Member Functions

 TrackingGeometry (const MutableTrackingVolumePtr &highestVolume, const IMaterialDecorator *materialDecorator=nullptr, const GeometryIdentifierHook &hook={}, const Logger &logger=getDummyLogger())
 
 ~TrackingGeometry ()
 Destructor.
 
const TrackingVolumehighestTrackingVolume () const
 
const std::shared_ptr< const
TrackingVolume > & 
highestTrackingVolumeShared () const
 
const TrackingVolumelowestTrackingVolume (const GeometryContext &gctx, const Vector3 &gp) const
 
const LayerassociatedLayer (const GeometryContext &gctx, const Vector3 &gp) const
 
void registerBeamTube (std::shared_ptr< const PerigeeSurface > beam)
 
const SurfacegetBeamline () const
 surface representing the beam pipe
 
template<ACTS_CONCEPT(SurfaceVisitor) visitor_t>
void visitSurfaces (visitor_t &&visitor) const
 Visit all sensitive surfaces.
 
const TrackingVolumefindVolume (GeometryIdentifier id) const
 
const SurfacefindSurface (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.
 

Detailed Description

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

Constructor & Destructor Documentation

Acts::TrackingGeometry::TrackingGeometry ( const MutableTrackingVolumePtr highestVolume,
const IMaterialDecorator materialDecorator = nullptr,
const GeometryIdentifierHook hook = {},
const Logger logger = getDummyLogger() 
)

Constructor

Parameters
highestVolumeis the world volume
materialDecoratoris a dediated decorator that can assign surface or volume based material to the TrackingVolume
hookIdentifier hook to be applied to surfaces
loggerinstance 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.

+ Here is the call graph for this function:

Acts::TrackingGeometry::~TrackingGeometry ( )
default

Destructor.

Member Function Documentation

const Acts::Layer * Acts::TrackingGeometry::associatedLayer ( const GeometryContext gctx,
const Vector3 gp 
) const

Forward the associated Layer information

Parameters
gctxis the context for this request (e.g. alignment)
gpis the global position of the call
Returns
plain pointer to assocaiated layer

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().

+ Here is the call graph for this function:

const Acts::Surface * Acts::TrackingGeometry::findSurface ( GeometryIdentifier  id) const

Search for a surface with the given identifier.

Parameters
idis the geometry identifier of the surface
Return values
nullptrif no such surface exists
pointerto 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()().

+ Here is the caller graph for this function:

const Acts::TrackingVolume * Acts::TrackingGeometry::findVolume ( GeometryIdentifier  id) const

Search for a volume with the given identifier.

Parameters
idis the geometry identifier of the volume
Return values
nullptrif no such volume exists
pointerto 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

Note
The ownership is not passed, e.g. do not delete the pointer
Returns
raw pointer to surface representing the beam pipe (could be a null pointer)

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

Returns
plain pointer 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().

+ Here is the caller graph for this function:

const std::shared_ptr< const Acts::TrackingVolume > & Acts::TrackingGeometry::highestTrackingVolumeShared ( ) const

Access to the world volume

Returns
shared pointer 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().

+ Here is the caller graph for this function:

const Acts::TrackingVolume * Acts::TrackingGeometry::lowestTrackingVolume ( const GeometryContext gctx,
const Vector3 gp 
) const

return the lowest tracking Volume

Parameters
gctxThe current geometry context object, e.g. alignment
gpis the global position of the call
Returns
plain pointer to the lowest TrackingVolume

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().

+ Here is the call graph for this function:

void Acts::TrackingGeometry::registerBeamTube ( std::shared_ptr< const PerigeeSurface beam)

Register the beam tube

Parameters
beamis 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().

+ Here is the call graph for this function:

template<ACTS_CONCEPT(SurfaceVisitor) visitor_t>
void Acts::TrackingGeometry::visitSurfaces ( visitor_t &&  visitor) const
inline

Visit all sensitive surfaces.

Template Parameters
visitor_tType of the callable visitor
Parameters
visitorThe 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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Friends And Related Function Documentation

friend class TrackingGeometryBuilder
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

Member Data Documentation

std::shared_ptr<const PerigeeSurface> Acts::TrackingGeometry::m_beam
private

Definition at line 133 of file TrackingGeometry.hpp.

View newest version in sPHENIX GitHub at line 133 of file TrackingGeometry.hpp

std::unordered_map<GeometryIdentifier, const Surface*> Acts::TrackingGeometry::m_surfacesById
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().

std::unordered_map<GeometryIdentifier, const TrackingVolume*> Acts::TrackingGeometry::m_volumesById
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().

TrackingVolumePtr Acts::TrackingGeometry::m_world
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().


The documentation for this class was generated from the following files: