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

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

+ Inheritance diagram for Acts::GenericApproachDescriptor:
+ Collaboration diagram for Acts::GenericApproachDescriptor:

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
 

Detailed Description

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

Constructor & Destructor Documentation

Acts::GenericApproachDescriptor::GenericApproachDescriptor ( std::vector< std::shared_ptr< const Surface >>  aSurfaces)
inline

A generic approach descriptor for new Acts::Surface objects passing ownership

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

+ Here is the call graph for this function:

Acts::GenericApproachDescriptor::~GenericApproachDescriptor ( )
overridedefault

A generic approach descriptor with n surfaces to test.

Member Function Documentation

Acts::SurfaceIntersection Acts::GenericApproachDescriptor::approachSurface ( const GeometryContext gctx,
const Vector3 position,
const Vector3 direction,
const BoundaryCheck bcheck,
double  pLimit,
double  oLimit,
double  tolerance 
) const
overridevirtual

Get the approach surface to the layer

Parameters
gctxThe current geometry context object, e.g. alignment
positionThe global position to start the approach from
directionThe momentum vector
bcheckThe boundary check prescription
pLimitThe path limit
oLimitThe overstep limit
toleranceThe surface tolerance
Returns
: a 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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const std::vector< const Acts::Surface * > & Acts::GenericApproachDescriptor::containedSurfaces ( ) const
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().

+ Here is the caller graph for this function:

std::vector< const Acts::Surface * > & Acts::GenericApproachDescriptor::containedSurfaces ( )
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

void Acts::GenericApproachDescriptor::registerLayer ( const Layer lay)
overridevirtual

Register the Layer to the surfaces.

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

std::vector<const Surface*> Acts::GenericApproachDescriptor::m_surfaceCache
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().

std::vector<std::shared_ptr<const Surface> > Acts::GenericApproachDescriptor::m_surfaces
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().


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