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

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

+ Inheritance diagram for Acts::CylinderLayer:
+ Collaboration diagram for Acts::CylinderLayer:

Public Member Functions

 CylinderLayer (const CylinderLayer &cla)=delete
 
 CylinderLayer ()=delete
 
 ~CylinderLayer () override=default
 
CylinderLayeroperator= (const CylinderLayer &)=delete
 
const CylinderSurfacesurfaceRepresentation () const override
 
CylinderSurfacesurfaceRepresentation () override
 
- Public Member Functions inherited from Acts::CylinderSurface
 ~CylinderSurface () override=default
 
 CylinderSurface ()=delete
 
CylinderSurfaceoperator= (const CylinderSurface &other)
 
Vector3 binningPosition (const GeometryContext &gctx, BinningValue bValue) const final
 
RotationMatrix3 referenceFrame (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction) const final
 
SurfaceType type () const override
 Return the surface type.
 
Vector3 normal (const GeometryContext &gctx, const Vector2 &lposition) const final
 
Vector3 normal (const GeometryContext &gctx, const Vector3 &position) const final
 
virtual Vector3 rotSymmetryAxis (const GeometryContext &gctx) const
 
const CylinderBoundsbounds () const final
 This method returns the CylinderBounds by reference.
 
Vector3 localToGlobal (const GeometryContext &gctx, const Vector2 &lposition, const Vector3 &direction) const final
 
Result< Vector2globalToLocal (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction, double tolerance=s_onSurfaceTolerance) const final
 
SurfaceMultiIntersection intersect (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction, const BoundaryCheck &bcheck=false, ActsScalar tolerance=s_onSurfaceTolerance) const final
 
double pathCorrection (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction) const final
 
std::string name () const override
 Return method for properly formatted output string.
 
Polyhedron polyhedronRepresentation (const GeometryContext &gctx, size_t lseg) const override
 
AlignmentToPathMatrix alignmentToPathDerivative (const GeometryContext &gctx, const FreeVector &parameters) const final
 
ActsMatrix< 2, 3 > localCartesianToBoundLocalDerivative (const GeometryContext &gctx, const Vector3 &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 Transform3transform (const GeometryContext &gctx) const
 
virtual Vector3 center (const GeometryContext &gctx) const
 
virtual Vector3 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 assignDetectorElement (const DetectorElementBase &detelement)
 
void assignSurfaceMaterial (std::shared_ptr< const ISurfaceMaterial > material)
 
bool isOnSurface (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction, const BoundaryCheck &bcheck=true) const
 
virtual bool insideBounds (const Vector2 &lposition, const BoundaryCheck &bcheck=true) const
 
virtual BoundToFreeMatrix boundToFreeJacobian (const GeometryContext &gctx, const BoundVector &boundParams) const
 
virtual FreeToBoundMatrix freeToBoundJacobian (const GeometryContext &gctx, const FreeVector &parameters) const
 
virtual FreeToPathMatrix freeToPathDerivative (const GeometryContext &gctx, const FreeVector &parameters) const
 
virtual std::ostream & toStream (const GeometryContext &gctx, std::ostream &sl) const
 
std::string toString (const GeometryContext &gctx) const
 
AlignmentToBoundMatrix alignmentToBoundDerivative (const GeometryContext &gctx, const FreeVector &parameters, const FreeVector &pathDerivative) const
 
- Public Member Functions inherited from Acts::GeometryObject
 GeometryObject ()=default
 Defaulted constructor.
 
 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 &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 Vector3 &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
 
boost::container::small_vector
< SurfaceIntersection, 10 > 
compatibleSurfaces (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction, const NavigationOptions< Surface > &options) const
 Decompose Layer into (compatible) surfaces.
 
SurfaceIntersection surfaceOnApproach (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction, const NavigationOptions< Layer > &options) const
 
const LayernextLayer (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction) const
 
const TrackingVolumetrackingVolume () const
 
const AbstractVolumerepresentingVolume () const
 
LayerType layerType () const
 return the LayerType
 

Static Public Member Functions

static std::shared_ptr
< CylinderLayer
create (const Transform3 &transform, const std::shared_ptr< const CylinderBounds > &cbounds, std::unique_ptr< SurfaceArray > surfaceArray=nullptr, double thickness=0., std::unique_ptr< ApproachDescriptor > ad=nullptr, LayerType laytyp=passive)
 

Protected Member Functions

 CylinderLayer (const Transform3 &transform, const std::shared_ptr< const CylinderBounds > &cBounds, std::unique_ptr< SurfaceArray > surfaceArray=nullptr, double thickness=0., std::unique_ptr< ApproachDescriptor > ades=nullptr, LayerType laytyp=passive)
 
 CylinderLayer (const CylinderLayer &cla, const Transform3 &shift)
 
- Protected Member Functions inherited from Acts::CylinderSurface
 CylinderSurface (const Transform3 &transform, double radius, double halfz, double halfphi=M_PI, double avphi=0., double bevelMinZ=0., double bevelMaxZ=0.)
 
 CylinderSurface (const Transform3 &transform, std::shared_ptr< const CylinderBounds > cbounds)
 
 CylinderSurface (std::shared_ptr< const CylinderBounds > cbounds, const DetectorElementBase &detelement)
 
 CylinderSurface (const CylinderSurface &other)
 
 CylinderSurface (const GeometryContext &gctx, const CylinderSurface &other, const Transform3 &shift)
 
- Protected Member Functions inherited from Acts::Surface
 Surface (const Transform3 &transform=Transform3::Identity())
 
 Surface (const Surface &other)
 
 Surface (const DetectorElementBase &detelement)
 
 Surface (const GeometryContext &gctx, const Surface &other, const Transform3 &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

- Public Types inherited from Acts::Surface
enum  SurfaceType {
  Cone = 0, Cylinder = 1, Disc = 2, Perigee = 3,
  Plane = 4, Straw = 5, Curvilinear = 6, Other = 7
}
 
- Static Public Attributes inherited from Acts::Surface
static std::array< std::string,
SurfaceType::Other > 
s_surfaceTypeNames
 Helper strings for screen output.
 
- Protected Attributes inherited from Acts::CylinderSurface
std::shared_ptr< const
CylinderBounds
m_bounds
 bounds (shared)
 
- 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 cylindrical detector layer for tracking, it inhertis from both, Layer base class and CylinderSurface class

Definition at line 30 of file CylinderLayer.hpp.

View newest version in sPHENIX GitHub at line 30 of file CylinderLayer.hpp

Constructor & Destructor Documentation

Acts::CylinderLayer::CylinderLayer ( const CylinderLayer cla)
delete
Acts::CylinderLayer::CylinderLayer ( )
delete

Referenced by create().

+ Here is the caller graph for this function:

Acts::CylinderLayer::~CylinderLayer ( )
overridedefault
Acts::CylinderLayer::CylinderLayer ( const Transform3 transform,
const std::shared_ptr< const CylinderBounds > &  cBounds,
std::unique_ptr< SurfaceArray surfaceArray = nullptr,
double  thickness = 0.,
std::unique_ptr< ApproachDescriptor ades = nullptr,
LayerType  laytyp = passive 
)
protected

Private constructor for CylinderLayer, called by create(args*) factory

Parameters
transformis the 3D transform that places the layer in 3D space
cBoundsThe cylindrical bounds of the layer
surfaceArrayis the Binned Array that holds the sensitive surfaces
thicknessis the layer thickness (along the normal)
adesare the approach descriptors for approaching the layer
laytypis the layer type

Definition at line 28 of file CylinderLayer.cpp.

View newest version in sPHENIX GitHub at line 28 of file CylinderLayer.cpp

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

+ Here is the call graph for this function:

Acts::CylinderLayer::CylinderLayer ( const CylinderLayer cla,
const Transform3 shift 
)
protected

Private copy constructor with shift, called by create(args*)

Parameters
clais the source cylinder layer for the copy
shiftis the additional transform applied after cloning

Member Function Documentation

void Acts::CylinderLayer::buildApproachDescriptor ( )
private

build approach surfaces */

Definition at line 63 of file CylinderLayer.cpp.

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

References testing::internal::move(), Acts::tubeInnerCover, and Acts::tubeOuterCover.

Referenced by CylinderLayer().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static std::shared_ptr<CylinderLayer> Acts::CylinderLayer::create ( const Transform3 transform,
const std::shared_ptr< const CylinderBounds > &  cbounds,
std::unique_ptr< SurfaceArray surfaceArray = nullptr,
double  thickness = 0.,
std::unique_ptr< ApproachDescriptor ad = nullptr,
LayerType  laytyp = passive 
)
inlinestatic

Factory for shared Layer pointer create a shared, fully deployed CylinderLayer

Parameters
transformis the 3D transform that places the layer in 3D space
cboundsare the cylindrical bounds of the layer
surfaceArrayis the Binned Array that holds the sensitive surfaces
thicknessis the layer thickness (along the normal)
adis the approach descriptor for approaching the layer
laytypis the layer type
Returns
The return object is a shared pointer to the layer.

Definition at line 45 of file CylinderLayer.hpp.

View newest version in sPHENIX GitHub at line 45 of file CylinderLayer.hpp

References CylinderLayer(), testing::internal::move(), Acts::Layer::surfaceArray(), and Acts::Layer::thickness().

Referenced by Acts::Test::Layers::BOOST_AUTO_TEST_CASE(), Acts::PassiveLayerBuilder::centralLayers(), Acts::DD4hepLayerBuilder::centralLayers(), Acts::constructCylinderVolume(), Acts::CylinderVolumeHelper::createCylinderLayer(), Acts::LayerCreator::cylinderLayer(), and Acts::KDTreeTrackingGeometryBuilder::translateLayer().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

CylinderLayer& Acts::CylinderLayer::operator= ( const CylinderLayer )
delete
const Acts::CylinderSurface & Acts::CylinderLayer::surfaceRepresentation ( ) const
overridevirtual

Transforms the layer into a Surface representation This is for positioning and extrapolation

Implements Acts::Layer.

Definition at line 54 of file CylinderLayer.cpp.

View newest version in sPHENIX GitHub at line 54 of file CylinderLayer.cpp

Referenced by Acts::CylinderVolumeBuilder::analyzeContent().

+ Here is the caller graph for this function:

Acts::CylinderSurface & Acts::CylinderLayer::surfaceRepresentation ( )
overridevirtual

Implements Acts::Layer.

Definition at line 59 of file CylinderLayer.cpp.

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


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