EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::NavigationLayer Class Reference

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

+ Inheritance diagram for Acts::NavigationLayer:
+ Collaboration diagram for Acts::NavigationLayer:

Public Member Functions

 ~NavigationLayer () override
 Destructor.
 
Vector3D binningPosition (const GeometryContext &gctx, BinningValue bValue) const final
 
 NavigationLayer ()=delete
 Default Constructor - deleted.
 
 NavigationLayer (const NavigationLayer &)=delete
 Copy Constructor - deleted.
 
NavigationLayeroperator= (const NavigationLayer &)=delete
 Assignment operator - deleted.
 
const SurfacesurfaceRepresentation () const final
 
SurfacesurfaceRepresentation () final
 
bool isOnLayer (const GeometryContext &gctx, const Vector3D &gp, const BoundaryCheck &bcheck=true) const final
 
bool resolve (bool resolveSensitive, bool resolveMaterial, bool resolvePassive) const final
 
- Public Member Functions inherited from Acts::Layer
 Layer ()=delete
 Default Constructor - deleted.
 
 Layer (const Layer &)=delete
 Copy Constructor - deleted.
 
virtual ~Layer ()=default
 Destructor.
 
Layeroperator= (const Layer &)=delete
 
const SurfaceArraysurfaceArray () const
 Return the entire SurfaceArray, returns a nullptr if no SurfaceArray.
 
SurfaceArraysurfaceArray ()
 Non-const version.
 
double thickness () const
 
const ApproachDescriptorapproachDescriptor () const
 Return method for the approach descriptor, can be nullptr.
 
ApproachDescriptorapproachDescriptor ()
 Non-const version of the approach descriptor.
 
template<typename options_t >
bool resolve (const options_t &options) const
 
template<typename options_t >
std::vector< SurfaceIntersectioncompatibleSurfaces (const GeometryContext &gctx, const Vector3D &position, const Vector3D &direction, const options_t &options) const
 Decompose Layer into (compatible) surfaces.
 
template<typename options_t >
const SurfaceIntersection surfaceOnApproach (const GeometryContext &gctx, const Vector3D &position, const Vector3D &direction, const options_t &options) const
 
const LayernextLayer (const GeometryContext &gctx, const Vector3D &position, const Vector3D &direction) const
 
const TrackingVolumetrackingVolume () const
 
const AbstractVolumerepresentingVolume () const
 
LayerType layerType () const
 return the LayerType
 
- Public Member Functions inherited from Acts::GeometryObject
 GeometryObject ()=default
 Defaulted construrctor.
 
 GeometryObject (const GeometryObject &)=default
 Defaulted copy constructor.
 
 GeometryObject (const GeometryIdentifier &geometryId)
 
GeometryObjectoperator= (const GeometryObject &geometryId)
 
const GeometryIdentifiergeometryId () const
 
virtual double binningPositionValue (const GeometryContext &gctx, BinningValue bValue) const
 
void assignGeometryId (const GeometryIdentifier &geometryId)
 

Static Public Member Functions

static LayerPtr create (std::shared_ptr< const Surface > sRepresentation, double thickness=0.)
 

Protected Member Functions

 NavigationLayer (std::shared_ptr< const Surface > surfaceRepresentation, double thickness)
 
- Protected Member Functions inherited from Acts::Layer
 Layer (std::unique_ptr< SurfaceArray > surfaceArray, double thickness=0., std::unique_ptr< ApproachDescriptor > ades=nullptr, LayerType laytyp=passive)
 
void encloseTrackingVolume (const TrackingVolume &tvol)
 

Protected Attributes

std::shared_ptr< const Surfacem_surfaceRepresentation
 
- Protected Attributes inherited from Acts::Layer
NextLayers m_nextLayers
 the previous Layer according to BinGenUtils
 
const BinUtilitym_nextLayerUtility = nullptr
 
std::unique_ptr< const
SurfaceArray
m_surfaceArray = nullptr
 
double m_layerThickness = 0.
 Thickness of the Layer.
 
std::unique_ptr< const
ApproachDescriptor
m_approachDescriptor = nullptr
 
const TrackingVolumem_trackingVolume = nullptr
 the enclosing TrackingVolume
 
std::unique_ptr< AbstractVolumem_representingVolume = nullptr
 
LayerType m_layerType
 make a passive/active either way
 
int m_ssRepresentingSurface = 0
 sub structure indication
 
int m_ssSensitiveSurfaces = 0
 
int m_ssApproachSurfaces = 0
 
- Protected Attributes inherited from Acts::GeometryObject
GeometryIdentifier m_geometryId
 

Detailed Description

Class to be used for gaps in Volumes as a navigational link. Navigation Layers have a surface representation, but should usually never be propagated to.

Definition at line 28 of file NavigationLayer.hpp.

View newest version in sPHENIX GitHub at line 28 of file NavigationLayer.hpp

Constructor & Destructor Documentation

Acts::NavigationLayer::~NavigationLayer ( )
overridedefault

Destructor.

Acts::NavigationLayer::NavigationLayer ( )
delete

Default Constructor - deleted.

Referenced by create().

+ Here is the caller graph for this function:

Acts::NavigationLayer::NavigationLayer ( const NavigationLayer )
delete

Copy Constructor - deleted.

Acts::NavigationLayer::NavigationLayer ( std::shared_ptr< const Surface surfaceRepresentation,
double  thickness 
)
protected

Private Constructor

  • this is called by the creat(args*) method passed spacer layer if needed
Parameters
surfaceRepresentationis the surface of the layer
thicknessithe layer thickness

Definition at line 17 of file NavigationLayer.cpp.

View newest version in sPHENIX GitHub at line 17 of file NavigationLayer.cpp

References Acts::Layer::m_layerThickness, Acts::Layer::m_layerType, Acts::navigation, and Acts::Layer::thickness().

+ Here is the call graph for this function:

Member Function Documentation

Vector3D Acts::NavigationLayer::binningPosition ( const GeometryContext gctx,
BinningValue  bValue 
) const
inlinefinalvirtual

The binning position method

Parameters
gctxThe current geometry context object, e.g. alignment
bValueis the value for which the binning position is requested
  • as default the center is given, but may be overloaded
Returns
The return vector can be used for binning in a TrackingVolume

Implements Acts::GeometryObject.

Definition at line 118 of file NavigationLayer.hpp.

View newest version in sPHENIX GitHub at line 118 of file NavigationLayer.hpp

References m_surfaceRepresentation.

static LayerPtr Acts::NavigationLayer::create ( std::shared_ptr< const Surface sRepresentation,
double  thickness = 0. 
)
inlinestatic

Factory Constructor - the surface representation is given by pointer (ownership passed)

Parameters
sRepresentationis the representation for extrapolation
thicknessis the thickness for the binning

Definition at line 35 of file NavigationLayer.hpp.

View newest version in sPHENIX GitHub at line 35 of file NavigationLayer.hpp

References NavigationLayer(), and Acts::Layer::thickness().

Referenced by Acts::Test::Layers::BOOST_AUTO_TEST_CASE(), and Acts::LayerArrayCreator::layerArray().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool Acts::NavigationLayer::isOnLayer ( const GeometryContext gctx,
const Vector3D gp,
const BoundaryCheck bcheck = true 
) const
inlinefinalvirtual

Geometric isOnLayer() method using isOnSurface() with Layer specific tolerance

Parameters
gctxThe current geometry context object, e.g. alignment
gpis the global position for the check
bcheckis the boundary check directive
Returns
boolean that indicates if the position is on surface

Reimplemented from Acts::Layer.

Definition at line 123 of file NavigationLayer.hpp.

View newest version in sPHENIX GitHub at line 123 of file NavigationLayer.hpp

References m_surfaceRepresentation, and Acts::s_origin().

+ Here is the call graph for this function:

NavigationLayer& Acts::NavigationLayer::operator= ( const NavigationLayer )
delete

Assignment operator - deleted.

bool Acts::NavigationLayer::resolve ( bool  resolveSensitive,
bool  resolveMaterial,
bool  resolvePassive 
) const
inlinefinalvirtual

Accept layer according to the following colelction directives

Parameters
resolveSensitiveis the prescription to find the sensitive surfaces
resolveMaterialis the precription to find material surfaces
resolvePassiveis the prescription to find all passive surfaces
Note
navigation layers are never accepted
Returns
a boolean whether the layer is accepted for processing

Reimplemented from Acts::Layer.

Definition at line 129 of file NavigationLayer.hpp.

View newest version in sPHENIX GitHub at line 129 of file NavigationLayer.hpp

const Surface & Acts::NavigationLayer::surfaceRepresentation ( ) const
inlinefinalvirtual

Transforms the layer into a Surface representation for extrapolation In general, extrapolation to a surface should be avoided

Implements Acts::Layer.

Definition at line 110 of file NavigationLayer.hpp.

View newest version in sPHENIX GitHub at line 110 of file NavigationLayer.hpp

Surface & Acts::NavigationLayer::surfaceRepresentation ( )
inlinefinalvirtual

Implements Acts::Layer.

Definition at line 114 of file NavigationLayer.hpp.

View newest version in sPHENIX GitHub at line 114 of file NavigationLayer.hpp

References m_surfaceRepresentation.

Member Data Documentation

std::shared_ptr<const Surface> Acts::NavigationLayer::m_surfaceRepresentation
protected

for the navigation Volume the surface

We will need to mutate this surface during the geometry building process, but the C++ type system has no const-correct way of expressing this.

Definition at line 107 of file NavigationLayer.hpp.

View newest version in sPHENIX GitHub at line 107 of file NavigationLayer.hpp

Referenced by binningPosition(), isOnLayer(), and surfaceRepresentation().


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