Analysis Software
Documentation for sPHENIX simulation software
|
#include <acts/blob/sPHENIX/Core/include/Acts/Geometry/GenericApproachDescriptor.hpp>
Public Member Functions | |
GenericApproachDescriptor (std::vector< std::shared_ptr< const Surface >> aSurfaces) | |
~GenericApproachDescriptor () override=default | |
A generic approach descriptor with n surfaces to test. | |
void | registerLayer (const Layer &lay) override |
Register the Layer to the surfaces. | |
SurfaceIntersection | approachSurface (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction, const BoundaryCheck &bcheck, double pLimit, double oLimit, double tolerance) const override |
const std::vector< const Surface * > & | containedSurfaces () const override |
return all contained surfaces of this approach descriptor | |
std::vector< const Surface * > & | containedSurfaces () override |
Non-const version. | |
Public Member Functions inherited from Acts::ApproachDescriptor | |
ApproachDescriptor ()=default | |
virtual | ~ApproachDescriptor ()=default |
Private Attributes | |
std::vector< std::shared_ptr < const Surface > > | m_surfaces |
approach surfaces with ownership control | |
std::vector< const Surface * > | m_surfaceCache |
Class to decide and return which approaching surface to be taken, it's a generic descriptor for n surfaces
Definition at line 32 of file GenericApproachDescriptor.hpp.
View newest version in sPHENIX GitHub at line 32 of file GenericApproachDescriptor.hpp
|
inline |
A generic approach descriptor for new Acts::Surface objects passing ownership
aSurfaces | are the approach surfaces |
Definition at line 38 of file GenericApproachDescriptor.hpp.
View newest version in sPHENIX GitHub at line 38 of file GenericApproachDescriptor.hpp
References m_surfaceCache, m_surfaces, and Acts::unpack_shared_vector().
|
overridedefault |
A generic approach descriptor with n surfaces to test.
|
overridevirtual |
Get the approach surface to the layer
gctx | The current geometry context object, e.g. alignment |
position | The global position to start the approach from |
direction | The momentum vector |
bcheck | The boundary check prescription |
pLimit | The path limit |
oLimit | The overstep limit |
tolerance | The surface tolerance |
SurfaceIntersection
Implements Acts::ApproachDescriptor.
Definition at line 26 of file GenericApproachDescriptor.cpp.
View newest version in sPHENIX GitHub at line 26 of file GenericApproachDescriptor.cpp
References Acts::detail::checkIntersection(), Acts::ObjectIntersection< Surface >::forwardOrder(), and Acts::ObjectIntersection< Surface >::invalid().
Referenced by Acts::Test::Layers::BOOST_AUTO_TEST_CASE().
|
overridevirtual |
return all contained surfaces of this approach descriptor
Implements Acts::ApproachDescriptor.
Definition at line 50 of file GenericApproachDescriptor.cpp.
View newest version in sPHENIX GitHub at line 50 of file GenericApproachDescriptor.cpp
Referenced by Acts::Test::Layers::BOOST_AUTO_TEST_CASE().
|
overridevirtual |
Non-const version.
Implements Acts::ApproachDescriptor.
Definition at line 55 of file GenericApproachDescriptor.cpp.
View newest version in sPHENIX GitHub at line 55 of file GenericApproachDescriptor.cpp
|
overridevirtual |
Register the Layer to the surfaces.
lay | is the layer to be registered |
Implements Acts::ApproachDescriptor.
Definition at line 18 of file GenericApproachDescriptor.cpp.
View newest version in sPHENIX GitHub at line 18 of file GenericApproachDescriptor.cpp
References Acts::Surface::associateLayer(), and m_surfaceCache.
Referenced by Acts::Test::Layers::BOOST_AUTO_TEST_CASE().
|
private |
the surface container cache
We will need to mutate those surfaces in registerLayer, but the C++ type system has no const-correct way of expressing this constraint.
Definition at line 87 of file GenericApproachDescriptor.hpp.
View newest version in sPHENIX GitHub at line 87 of file GenericApproachDescriptor.hpp
Referenced by GenericApproachDescriptor(), and registerLayer().
|
private |
approach surfaces with ownership control
Definition at line 80 of file GenericApproachDescriptor.hpp.
View newest version in sPHENIX GitHub at line 80 of file GenericApproachDescriptor.hpp
Referenced by GenericApproachDescriptor().