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

#include <acts/blob/sPHENIX/Examples/Detectors/TelescopeDetector/include/ActsExamples/TelescopeDetector/TelescopeDetectorElement.hpp>

+ Inheritance diagram for ActsExamples::Telescope::TelescopeDetectorElement:
+ Collaboration diagram for ActsExamples::Telescope::TelescopeDetectorElement:

Classes

class  ContextType
 

Public Member Functions

 TelescopeDetectorElement (std::shared_ptr< const Acts::Transform3 > transform, std::shared_ptr< const Acts::PlanarBounds > pBounds, double thickness, std::shared_ptr< const Acts::ISurfaceMaterial > material=nullptr)
 
 TelescopeDetectorElement (std::shared_ptr< const Acts::Transform3 > transform, std::shared_ptr< const Acts::DiscBounds > dBounds, double thickness, std::shared_ptr< const Acts::ISurfaceMaterial > material=nullptr)
 
 ~TelescopeDetectorElement () override=default
 Destructor.
 
const Acts::Surfacesurface () const final
 Return surface associated with this detector element.
 
Acts::Surfacesurface () final
 Non-const access to the surface associated with this detector element.
 
double thickness () const final
 The maximal thickness of the detector element wrt normal axis.
 
const Acts::Transform3transform (const Acts::GeometryContext &gctx) const final
 
const Acts::Transform3nominalTransform (const Acts::GeometryContext &gctx) const
 
void addAlignedTransform (std::unique_ptr< Acts::Transform3 > alignedTransform, unsigned int iov)
 
const std::vector
< std::unique_ptr
< Acts::Transform3 > > & 
alignedTransforms () const
 Return the set of alignment transforms in flight.
 
- Public Member Functions inherited from Acts::DetectorElementBase
 DetectorElementBase ()=default
 
virtual ~DetectorElementBase ()=default
 

Private Attributes

std::shared_ptr< const
Acts::Transform3
m_elementTransform = nullptr
 the transform for positioning in 3D space
 
std::vector< std::unique_ptr
< Acts::Transform3 > > 
m_alignedTransforms = {}
 
std::shared_ptr< Acts::Surfacem_elementSurface = nullptr
 the surface represented by it
 
double m_elementThickness = 0.
 the element thickness
 
std::shared_ptr< const
Acts::PlanarBounds
m_elementPlanarBounds = nullptr
 the planar bounds
 
std::shared_ptr< const
Acts::DiscBounds
m_elementDiscBounds = nullptr
 the disc bounds
 

Detailed Description

This is a lightweight type of detector element, it simply implements the base class.

Definition at line 35 of file TelescopeDetectorElement.hpp.

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

Constructor & Destructor Documentation

ActsExamples::Telescope::TelescopeDetectorElement::TelescopeDetectorElement ( std::shared_ptr< const Acts::Transform3 transform,
std::shared_ptr< const Acts::PlanarBounds pBounds,
double  thickness,
std::shared_ptr< const Acts::ISurfaceMaterial material = nullptr 
)

Constructor for single sided detector element

  • bound to a Plane Surface
Parameters
transformis the transform that element the layer in 3D frame
pBoundsis the planar bounds for the planar detector element
thicknessis the module thickness
materialis the (optional) Surface material associated to it

Definition at line 14 of file TelescopeDetectorElement.cpp.

View newest version in sPHENIX GitHub at line 14 of file TelescopeDetectorElement.cpp

References Acts::Surface::assignSurfaceMaterial(), boost::const_pointer_cast(), m_elementSurface, and testing::internal::move().

+ Here is the call graph for this function:

ActsExamples::Telescope::TelescopeDetectorElement::TelescopeDetectorElement ( std::shared_ptr< const Acts::Transform3 transform,
std::shared_ptr< const Acts::DiscBounds dBounds,
double  thickness,
std::shared_ptr< const Acts::ISurfaceMaterial material = nullptr 
)

Constructor for single sided detector element

  • bound to a Disc Surface
Parameters
transformis the transform that element the layer in 3D frame
dBoundsis the planar bounds for the disc like detector element
thicknessis the module thickness
materialis the (optional) Surface material associated to it

Definition at line 30 of file TelescopeDetectorElement.cpp.

View newest version in sPHENIX GitHub at line 30 of file TelescopeDetectorElement.cpp

References m_elementSurface, and testing::internal::move().

+ Here is the call graph for this function:

ActsExamples::Telescope::TelescopeDetectorElement::~TelescopeDetectorElement ( )
overridedefault

Destructor.

Member Function Documentation

void ActsExamples::Telescope::TelescopeDetectorElement::addAlignedTransform ( std::unique_ptr< Acts::Transform3 alignedTransform,
unsigned int  iov 
)
inline

Return local to global transform associated with this identifier

Parameters
alignedTransformis a new transform
iovis the batch for which it is meant

Definition at line 149 of file TelescopeDetectorElement.hpp.

View newest version in sPHENIX GitHub at line 149 of file TelescopeDetectorElement.hpp

References m_alignedTransforms, and testing::internal::move().

+ Here is the call graph for this function:

const std::vector< std::unique_ptr< Acts::Transform3 > > & ActsExamples::Telescope::TelescopeDetectorElement::alignedTransforms ( ) const
inline

Return the set of alignment transforms in flight.

Definition at line 160 of file TelescopeDetectorElement.hpp.

View newest version in sPHENIX GitHub at line 160 of file TelescopeDetectorElement.hpp

References m_alignedTransforms.

const Acts::Transform3 & ActsExamples::Telescope::TelescopeDetectorElement::nominalTransform ( const Acts::GeometryContext gctx) const
inline

Return the nominal local to global transform

Note
the geometry context will hereby be ignored

Definition at line 144 of file TelescopeDetectorElement.hpp.

View newest version in sPHENIX GitHub at line 144 of file TelescopeDetectorElement.hpp

References m_elementTransform.

Referenced by transform().

+ Here is the caller graph for this function:

const Acts::Surface & ActsExamples::Telescope::TelescopeDetectorElement::surface ( ) const
inlinefinalvirtual

Return surface associated with this detector element.

Implements Acts::DetectorElementBase.

Definition at line 120 of file TelescopeDetectorElement.hpp.

View newest version in sPHENIX GitHub at line 120 of file TelescopeDetectorElement.hpp

References m_elementSurface.

Acts::Surface & ActsExamples::Telescope::TelescopeDetectorElement::surface ( )
inlinefinalvirtual

Non-const access to the surface associated with this detector element.

Implements Acts::DetectorElementBase.

Definition at line 124 of file TelescopeDetectorElement.hpp.

View newest version in sPHENIX GitHub at line 124 of file TelescopeDetectorElement.hpp

References m_elementSurface.

double ActsExamples::Telescope::TelescopeDetectorElement::thickness ( ) const
inlinefinalvirtual

The maximal thickness of the detector element wrt normal axis.

Implements Acts::DetectorElementBase.

Definition at line 128 of file TelescopeDetectorElement.hpp.

View newest version in sPHENIX GitHub at line 128 of file TelescopeDetectorElement.hpp

References m_elementThickness.

const Acts::Transform3 & ActsExamples::Telescope::TelescopeDetectorElement::transform ( const Acts::GeometryContext gctx) const
inlinefinalvirtual

Return local to global transform associated with this identifier

Parameters
gctxThe current geometry context object, e.g. alignment
Note
this is called from the surface().transform() in the PROXY mode

Implements Acts::DetectorElementBase.

Definition at line 132 of file TelescopeDetectorElement.hpp.

View newest version in sPHENIX GitHub at line 132 of file TelescopeDetectorElement.hpp

References m_alignedTransforms, and nominalTransform().

+ Here is the call graph for this function:

Member Data Documentation

std::vector<std::unique_ptr<Acts::Transform3> > ActsExamples::Telescope::TelescopeDetectorElement::m_alignedTransforms = {}
private

Definition at line 109 of file TelescopeDetectorElement.hpp.

View newest version in sPHENIX GitHub at line 109 of file TelescopeDetectorElement.hpp

Referenced by addAlignedTransform(), alignedTransforms(), and transform().

std::shared_ptr<const Acts::DiscBounds> ActsExamples::Telescope::TelescopeDetectorElement::m_elementDiscBounds = nullptr
private

the disc bounds

Definition at line 117 of file TelescopeDetectorElement.hpp.

View newest version in sPHENIX GitHub at line 117 of file TelescopeDetectorElement.hpp

std::shared_ptr<const Acts::PlanarBounds> ActsExamples::Telescope::TelescopeDetectorElement::m_elementPlanarBounds = nullptr
private

the planar bounds

Definition at line 115 of file TelescopeDetectorElement.hpp.

View newest version in sPHENIX GitHub at line 115 of file TelescopeDetectorElement.hpp

std::shared_ptr<Acts::Surface> ActsExamples::Telescope::TelescopeDetectorElement::m_elementSurface = nullptr
private

the surface represented by it

Definition at line 111 of file TelescopeDetectorElement.hpp.

View newest version in sPHENIX GitHub at line 111 of file TelescopeDetectorElement.hpp

Referenced by surface(), and TelescopeDetectorElement().

double ActsExamples::Telescope::TelescopeDetectorElement::m_elementThickness = 0.
private

the element thickness

Definition at line 113 of file TelescopeDetectorElement.hpp.

View newest version in sPHENIX GitHub at line 113 of file TelescopeDetectorElement.hpp

Referenced by thickness().

std::shared_ptr<const Acts::Transform3> ActsExamples::Telescope::TelescopeDetectorElement::m_elementTransform = nullptr
private

the transform for positioning in 3D space

Definition at line 107 of file TelescopeDetectorElement.hpp.

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

Referenced by nominalTransform().


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