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

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

+ Inheritance diagram for Acts::DiscLayer:
+ Collaboration diagram for Acts::DiscLayer:

Public Member Functions

 DiscLayer ()=delete
 
 DiscLayer (const DiscLayer &cla)=delete
 
 ~DiscLayer () override=default
 
DiscLayeroperator= (const DiscLayer &)=delete
 
const DiscSurface & surfaceRepresentation () const override
 
DiscSurface & surfaceRepresentation () override
 
- 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
 
virtual bool isOnLayer (const GeometryContext &gctx, const Vector3D &position, const BoundaryCheck &bcheck=true) 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
 
virtual bool resolve (bool resolveSensitive, bool resolveMaterial, bool resolvePassive) 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 Vector3D binningPosition (const GeometryContext &gctx, BinningValue bValue) const =0
 
virtual double binningPositionValue (const GeometryContext &gctx, BinningValue bValue) const
 
void assignGeometryId (const GeometryIdentifier &geometryId)
 

Static Public Member Functions

static MutableLayerPtr create (const Transform3D &transform, const std::shared_ptr< const DiscBounds > &dbounds, std::unique_ptr< SurfaceArray > surfaceArray=nullptr, double thickness=0., std::unique_ptr< ApproachDescriptor > ad=nullptr, LayerType laytyp=Acts::passive)
 

Protected Member Functions

 DiscLayer (const Transform3D &transform, const std::shared_ptr< const DiscBounds > &dbounds, std::unique_ptr< SurfaceArray > surfaceArray=nullptr, double thickness=0., std::unique_ptr< ApproachDescriptor > ades=nullptr, LayerType laytyp=Acts::active)
 
 DiscLayer (const DiscLayer &cla, const Transform3D &tr)
 Copy constructor with shift.
 
- 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)
 

Private Member Functions

void buildApproachDescriptor ()
 build approach surfaces
 

Additional Inherited Members

- 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
 

Detailed Description

Class to describe a disc-like detector layer for tracking, it inhertis from both, Layer base class and DiscSurface class

Definition at line 29 of file DiscLayer.hpp.

View newest version in sPHENIX GitHub at line 29 of file DiscLayer.hpp

Constructor & Destructor Documentation

Acts::DiscLayer::DiscLayer ( )
delete

Referenced by create().

+ Here is the caller graph for this function:

Acts::DiscLayer::DiscLayer ( const DiscLayer cla)
delete
Acts::DiscLayer::~DiscLayer ( )
overridedefault
Acts::DiscLayer::DiscLayer ( const Transform3D transform,
const std::shared_ptr< const DiscBounds > &  dbounds,
std::unique_ptr< SurfaceArray surfaceArray = nullptr,
double  thickness = 0.,
std::unique_ptr< ApproachDescriptor ades = nullptr,
LayerType  laytyp = Acts::active 
)
protected
Parameters
transformis the transform to place the layer in the 3D frame
dboundsare the disc bounds that describe the layer dimensions
surfaceArrayis the array of sensitive surfaces
thicknessis the layer thickness (along the normal vector)
adis the approach descriptor that provides the approach surface
laytypis the layer taype

Definition at line 24 of file DiscLayer.cpp.

View newest version in sPHENIX GitHub at line 24 of file DiscLayer.cpp

References Acts::Layer::approachDescriptor(), buildApproachDescriptor(), Acts::Layer::m_approachDescriptor, Acts::Layer::m_representingVolume, Acts::Layer::m_surfaceArray, m_transform(), Acts::ApproachDescriptor::registerLayer(), and Acts::Layer::thickness().

+ Here is the call graph for this function:

Acts::DiscLayer::DiscLayer ( const DiscLayer cla,
const Transform3D tr 
)
protected

Copy constructor with shift.

Member Function Documentation

void Acts::DiscLayer::buildApproachDescriptor ( )
private

build approach surfaces

Definition at line 63 of file DiscLayer.cpp.

View newest version in sPHENIX GitHub at line 63 of file DiscLayer.cpp

References Acts::negativeFaceXY, and Acts::positiveFaceXY.

Referenced by DiscLayer().

+ Here is the caller graph for this function:

static MutableLayerPtr Acts::DiscLayer::create ( const Transform3D transform,
const std::shared_ptr< const DiscBounds > &  dbounds,
std::unique_ptr< SurfaceArray surfaceArray = nullptr,
double  thickness = 0.,
std::unique_ptr< ApproachDescriptor ad = nullptr,
LayerType  laytyp = Acts::passive 
)
inlinestatic

Factory constructor with DiscSurface components

Parameters
transformis the transform to place the layer in the 3D frame
dboundsare the disc bounds that describe the layer dimensions
surfaceArrayis the array of sensitive surfaces
thicknessis the layer thickness (along the normal vector)
adis the approach descriptor that provides the approach surface
laytypis the layer type
Returns
a sharted pointer to the new layer

Definition at line 43 of file DiscLayer.hpp.

View newest version in sPHENIX GitHub at line 43 of file DiscLayer.hpp

References DiscLayer(), Acts::Layer::surfaceArray(), and Acts::Layer::thickness().

Referenced by Acts::Test::Layers::BOOST_AUTO_TEST_CASE(), Acts::CylinderVolumeHelper::createDiscLayer(), Acts::LayerCreator::discLayer(), Acts::PassiveLayerBuilder::endcapLayers(), and Acts::DD4hepLayerBuilder::endcapLayers().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

DiscLayer& Acts::DiscLayer::operator= ( const DiscLayer )
delete
const Acts::DiscSurface & Acts::DiscLayer::surfaceRepresentation ( ) const
overridevirtual

Transforms the layer into a Surface representation for extrapolation

Returns
This method returns a surface reference

Implements Acts::Layer.

Definition at line 55 of file DiscLayer.cpp.

View newest version in sPHENIX GitHub at line 55 of file DiscLayer.cpp

Acts::DiscSurface & Acts::DiscLayer::surfaceRepresentation ( )
overridevirtual

Implements Acts::Layer.

Definition at line 59 of file DiscLayer.cpp.

View newest version in sPHENIX GitHub at line 59 of file DiscLayer.cpp


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