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

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

+ Inheritance diagram for Acts::PlaneLayer:
+ Collaboration diagram for Acts::PlaneLayer:

Public Member Functions

 PlaneLayer ()=delete
 
 PlaneLayer (const PlaneLayer &pla)=delete
 
 ~PlaneLayer () override=default
 
PlaneLayeroperator= (const PlaneLayer &)=delete
 
const PlaneSurfacesurfaceRepresentation () const override
 
PlaneSurfacesurfaceRepresentation () override
 
- Public Member Functions inherited from Acts::PlaneSurface
 ~PlaneSurface () override=default
 
 PlaneSurface ()=delete
 
PlaneSurfaceoperator= (const PlaneSurface &other)
 
Vector3D normal (const GeometryContext &gctx, const Vector2D &lposition) const final
 
Vector3D binningPosition (const GeometryContext &gctx, BinningValue bValue) const final
 
SurfaceType type () const override
 Return the surface type.
 
const SurfaceBoundsbounds () const override
 Return method for bounds object of this surfrace.
 
Vector3D localToGlobal (const GeometryContext &gctx, const Vector2D &lposition, const Vector3D &momentum) const override
 
Result< Vector2DglobalToLocal (const GeometryContext &gctx, const Vector3D &position, const Vector3D &momentum) const override
 
double pathCorrection (const GeometryContext &gctx, const Vector3D &position, const Vector3D &direction) const final
 
SurfaceIntersection intersect (const GeometryContext &gctx, const Vector3D &position, const Vector3D &direction, const BoundaryCheck &bcheck=false) const final
 Straight line intersection.
 
Polyhedron polyhedronRepresentation (const GeometryContext &gctx, size_t lseg) const override
 
std::string name () const override
 Return properly formatted class name for screen output.
 
LocalCartesianToBoundLocalMatrix localCartesianToBoundLocalDerivative (const GeometryContext &gctx, const Vector3D &position) const final
 
- Public Member Functions inherited from Acts::Surface
virtual ~Surface ()
 
std::shared_ptr< SurfacegetSharedPtr ()
 
std::shared_ptr< const SurfacegetSharedPtr () const
 
Surfaceoperator= (const Surface &other)
 
virtual bool operator== (const Surface &other) const
 
virtual bool operator!= (const Surface &sf) const
 
virtual const Transform3Dtransform (const GeometryContext &gctx) const
 
virtual Vector3D center (const GeometryContext &gctx) const
 
virtual Vector3D normal (const GeometryContext &gctx, const Vector3D &position) const
 
virtual Vector3D normal (const GeometryContext &gctx) const
 
const DetectorElementBaseassociatedDetectorElement () const
 
const LayerassociatedLayer () const
 
void associateLayer (const Layer &lay)
 
const ISurfaceMaterialsurfaceMaterial () const
 
const std::shared_ptr< const
ISurfaceMaterial > & 
surfaceMaterialSharedPtr () const
 
void assignSurfaceMaterial (std::shared_ptr< const ISurfaceMaterial > material)
 
bool isOnSurface (const GeometryContext &gctx, const Vector3D &position, const Vector3D &momentum, const BoundaryCheck &bcheck=true) const
 
virtual bool insideBounds (const Vector2D &lposition, const BoundaryCheck &bcheck=true) const
 
virtual Acts::RotationMatrix3D referenceFrame (const GeometryContext &gctx, const Vector3D &position, const Vector3D &momentum) const
 
virtual void initJacobianToGlobal (const GeometryContext &gctx, BoundToFreeMatrix &jacobian, const Vector3D &position, const Vector3D &direction, const BoundVector &pars) const
 
virtual RotationMatrix3D initJacobianToLocal (const GeometryContext &gctx, FreeToBoundMatrix &jacobian, const Vector3D &position, const Vector3D &direction) const
 
virtual BoundRowVector derivativeFactors (const GeometryContext &gctx, const Vector3D &position, const Vector3D &direction, const RotationMatrix3D &rft, const BoundToFreeMatrix &jacobian) const
 
virtual std::ostream & toStream (const GeometryContext &gctx, std::ostream &sl) const
 
AlignmentToBoundMatrix alignmentToBoundDerivative (const GeometryContext &gctx, const FreeVector &derivatives, const Vector3D &position, const Vector3D &direction) const
 
virtual AlignmentRowVector alignmentToPathDerivative (const GeometryContext &gctx, const RotationMatrix3D &rotToLocalZAxis, const Vector3D &position, const Vector3D &direction) const
 
- 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)
 
- 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
 

Static Public Member Functions

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

Protected Member Functions

 PlaneLayer (const Transform3D &transform, std::shared_ptr< const PlanarBounds > &pbounds, std::unique_ptr< SurfaceArray > surfaceArray=nullptr, double thickness=0., std::unique_ptr< ApproachDescriptor > ades=nullptr, LayerType laytyp=Acts::active)
 
 PlaneLayer (const PlaneLayer &pla, const Transform3D &shift)
 
- Protected Member Functions inherited from Acts::PlaneSurface
 PlaneSurface (const PlaneSurface &other)
 
 PlaneSurface (const GeometryContext &gctx, const PlaneSurface &other, const Transform3D &transf)
 
 PlaneSurface (const Vector3D &center, const Vector3D &normal)
 
 PlaneSurface (const std::shared_ptr< const PlanarBounds > &pbounds, const DetectorElementBase &detelement)
 
 PlaneSurface (const Transform3D &htrans, std::shared_ptr< const PlanarBounds > pbounds=nullptr)
 
- Protected Member Functions inherited from Acts::Surface
 Surface (const Transform3D &transform=Transform3D::Identity())
 
 Surface (const Surface &other)
 
 Surface (const DetectorElementBase &detelement)
 
 Surface (const GeometryContext &gctx, const Surface &other, const Transform3D &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 ()
 private helper method to build approach surfaces
 

Additional Inherited Members

- Public Types inherited from Acts::Surface
enum  SurfaceType {
  Cone = 0, Cylinder = 1, Disc = 2, Perigee = 3,
  Plane = 4, Straw = 5, Curvilinear = 6, Other = 7
}
 
- Protected Attributes inherited from Acts::PlaneSurface
std::shared_ptr< const
PlanarBounds
m_bounds
 the bounds of this surface
 
- 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 planar detector layer for tracking, it inhertis from both, Layer base class and PlaneSurface class

Definition at line 25 of file PlaneLayer.hpp.

View newest version in sPHENIX GitHub at line 25 of file PlaneLayer.hpp

Constructor & Destructor Documentation

Acts::PlaneLayer::PlaneLayer ( )
delete

Referenced by create().

+ Here is the caller graph for this function:

Acts::PlaneLayer::PlaneLayer ( const PlaneLayer pla)
delete
Acts::PlaneLayer::~PlaneLayer ( )
overridedefault
Acts::PlaneLayer::PlaneLayer ( const Transform3D transform,
std::shared_ptr< const PlanarBounds > &  pbounds,
std::unique_ptr< SurfaceArray surfaceArray = nullptr,
double  thickness = 0.,
std::unique_ptr< ApproachDescriptor ades = nullptr,
LayerType  laytyp = Acts::active 
)
protected

Private constructor for a PlaneLayer is called by create(args*)

Parameters
transformwhich places the layer in the global frame
pboundsthe planar bounds that define the layer dimensions
surfaceArrayis the surface array that holds the sensitive surfaces
thicknessis the thickness of the layer (normal direction to plane)
adesis the approach descriptor for describing the approach surface
laytypis the layer type
Returns
shared pointer to a PlaneLayer

Definition at line 18 of file PlaneLayer.cpp.

View newest version in sPHENIX GitHub at line 18 of file PlaneLayer.cpp

References Acts::Layer::approachDescriptor(), Acts::Surface::associateLayer(), buildApproachDescriptor(), Acts::Layer::m_approachDescriptor, Acts::Layer::m_surfaceArray, and Acts::ApproachDescriptor::registerLayer().

+ Here is the call graph for this function:

Acts::PlaneLayer::PlaneLayer ( const PlaneLayer pla,
const Transform3D shift 
)
protected

Private constructor for a PlaneLayer, is called by create(arge*

Parameters
plais the plain layer to be coped
shiftis the additional shift applied after copying

Member Function Documentation

void Acts::PlaneLayer::buildApproachDescriptor ( )
private

private helper method to build approach surfaces

Definition at line 47 of file PlaneLayer.cpp.

View newest version in sPHENIX GitHub at line 47 of file PlaneLayer.cpp

References Acts::Surface::associateLayer(), Acts::Surface::center(), Acts::PlaneSurface::m_bounds, Acts::Layer::m_layerThickness, Acts::Surface::normal(), and Acts::Surface::transform().

Referenced by PlaneLayer().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static MutableLayerPtr Acts::PlaneLayer::create ( const Transform3D transform,
std::shared_ptr< const PlanarBounds pbounds,
std::unique_ptr< SurfaceArray surfaceArray = nullptr,
double  thickness = 0.,
std::unique_ptr< ApproachDescriptor ad = nullptr,
LayerType  laytyp = Acts::active 
)
inlinestatic

Factory for a shared plane layer

Parameters
transformwhich places the layer in the global frame
pboundsthe planar bounds that define the layer dimensions
surfaceArrayis the surface array that holds the sensitive surfaces
thicknessis the thickness of the layer (normal direction to plane)
adis the approach descriptor for describing the approach surface
laytypis the layer type
Returns
shared pointer to a PlaneLayer

Definition at line 37 of file PlaneLayer.hpp.

View newest version in sPHENIX GitHub at line 37 of file PlaneLayer.hpp

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

Referenced by Acts::Test::Layers::BOOST_AUTO_TEST_CASE(), Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::Test::CubicTrackingGeometry::operator()(), and Acts::LayerCreator::planeLayer().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

PlaneLayer& Acts::PlaneLayer::operator= ( const PlaneLayer )
delete
const Acts::PlaneSurface & Acts::PlaneLayer::surfaceRepresentation ( ) const
overridevirtual

Transforms the layer into a Surface representation for extrapolation

Returns
returns a reference to a PlaneSurface

Implements Acts::Layer.

Definition at line 39 of file PlaneLayer.cpp.

View newest version in sPHENIX GitHub at line 39 of file PlaneLayer.cpp

Acts::PlaneSurface & Acts::PlaneLayer::surfaceRepresentation ( )
overridevirtual

Implements Acts::Layer.

Definition at line 43 of file PlaneLayer.cpp.

View newest version in sPHENIX GitHub at line 43 of file PlaneLayer.cpp


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