EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
#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. | |
ObjectIntersection< Surface > | approachSurface (const GeometryContext &gctx, const Vector3D &position, const Vector3D &direction, const BoundaryCheck &bcheck) 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
It is templated in order to allow for BoundarySurfaces from representing volumes of layers to be re-used
Definition at line 29 of file GenericApproachDescriptor.hpp.
View newest version in sPHENIX GitHub at line 29 of file GenericApproachDescriptor.hpp
|
inline |
A generic approach descriptor for new Acts::Surface objects passing ownership
aSurfaces | are the approach surfaces |
Definition at line 35 of file GenericApproachDescriptor.hpp.
View newest version in sPHENIX GitHub at line 35 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 aproach 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 |
Implements Acts::ApproachDescriptor.
Definition at line 23 of file GenericApproachDescriptor.cpp.
View newest version in sPHENIX GitHub at line 23 of file GenericApproachDescriptor.cpp
References boost::swap().
Referenced by Acts::Test::Layers::BOOST_AUTO_TEST_CASE().
|
overridevirtual |
return all contained surfaces of this approach descriptor
Implements Acts::ApproachDescriptor.
Definition at line 43 of file GenericApproachDescriptor.cpp.
View newest version in sPHENIX GitHub at line 43 of file GenericApproachDescriptor.cpp
Referenced by Acts::Test::Layers::BOOST_AUTO_TEST_CASE().
|
overridevirtual |
Non-const version.
Implements Acts::ApproachDescriptor.
Definition at line 48 of file GenericApproachDescriptor.cpp.
View newest version in sPHENIX GitHub at line 48 of file GenericApproachDescriptor.cpp
|
overridevirtual |
Register the Layer to the surfaces.
lay | is the layer to be registerd |
Implements Acts::ApproachDescriptor.
Definition at line 14 of file GenericApproachDescriptor.cpp.
View newest version in sPHENIX GitHub at line 14 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 78 of file GenericApproachDescriptor.hpp.
View newest version in sPHENIX GitHub at line 78 of file GenericApproachDescriptor.hpp
Referenced by GenericApproachDescriptor(), and registerLayer().
|
private |
approach surfaces with ownership control
Definition at line 71 of file GenericApproachDescriptor.hpp.
View newest version in sPHENIX GitHub at line 71 of file GenericApproachDescriptor.hpp
Referenced by GenericApproachDescriptor().