ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
ActsPlugins::GeoModelDetectorElement Class Reference

Detector element representative for GeoModel based sensitive elements. More...

#include </home/runner/work/acts/acts/Plugins/GeoModel/include/ActsPlugins/GeoModel/GeoModelDetectorElement.hpp>

Inheritance diagram for ActsPlugins::GeoModelDetectorElement:
[legend]
Collaboration diagram for ActsPlugins::GeoModelDetectorElement:
[legend]

Public Types

using ContextType = Acts::GeometryContext
 Broadcast the context type.

Public Member Functions

 GeoModelDetectorElement ()=delete
 GeoModelDetectorElement (PVConstLink geoPhysVol, std::shared_ptr< Acts::Surface > surface, const Acts::Transform3 &sfTransform, double thickness)
 Constructor with arguments.
const std::string & databaseEntryName () const
 Get the string identifier of the corresponding database entry Note: This is not by defnitition a unique identifier, there can be several detector elements created from a single database entry.
bool isSensitive () const final
 Is the detector element a sensitive element.
const Acts::Transform3localToGlobalTransform (const Acts::GeometryContext &gctx) const override
 Return local to global transform associated with this detector element.
const std::string & logVolName () const
 Get the name of the logical volume.
const Acts::Transform3nominalTransform () const
 Return the nominal - non-contextual transform.
PVConstLink physicalVolume () const
void setDatabaseEntryName (const std::string &n)
 Set the corresponding database entry string.
const Acts::Surfacesurface () const override
 Return surface associated with this detector element.
Acts::Surfacesurface () override
 Non-const access to surface associated with this detector element.
double thickness () const
 Return the thickness of this detector element.
Public Member Functions inherited from Acts::SurfacePlacementBase
virtual ~SurfacePlacementBase ()=default
 Virtual default constructor.

Static Public Member Functions

template<typename SurfaceType, typename BoundsType>
static std::shared_ptr< GeoModelDetectorElementcreateDetectorElement (const PVConstLink &geoPhysVol, const std::shared_ptr< BoundsType > bounds, const Acts::Transform3 &sfTransform, double thickness)
 Factory to create a planar detector element with connected surface.

Protected Member Functions

void attachSurface (std::shared_ptr< Acts::Surface > surface)
 Attach a surface.

Detailed Description

Detector element representative for GeoModel based sensitive elements.

Member Typedef Documentation

◆ ContextType

Constructor & Destructor Documentation

◆ GeoModelDetectorElement() [1/2]

ActsPlugins::GeoModelDetectorElement::GeoModelDetectorElement ( )
delete

◆ GeoModelDetectorElement() [2/2]

ActsPlugins::GeoModelDetectorElement::GeoModelDetectorElement ( PVConstLink geoPhysVol,
std::shared_ptr< Acts::Surface > surface,
const Acts::Transform3 & sfTransform,
double thickness )

Constructor with arguments.

Parameters
geoPhysVolrepresenting the physical volume
surfacethe representing surface
sfTransformthe surface transform
thicknessthe thickness of the detector element

Member Function Documentation

◆ attachSurface()

void ActsPlugins::GeoModelDetectorElement::attachSurface ( std::shared_ptr< Acts::Surface > surface)
protected

Attach a surface.

Parameters
surfaceThe surface to attach

◆ createDetectorElement()

template<typename SurfaceType, typename BoundsType>
std::shared_ptr< GeoModelDetectorElement > ActsPlugins::GeoModelDetectorElement::createDetectorElement ( const PVConstLink & geoPhysVol,
const std::shared_ptr< BoundsType > bounds,
const Acts::Transform3 & sfTransform,
double thickness )
static

Factory to create a planar detector element with connected surface.

Template Parameters
SurfaceTypethe surface type
BoundsTypethe bounds type
Parameters
geoPhysVolrepresenting the physical volume
boundsthe bounds class
sfTransformthe surface transform
thicknessthe thickness of the detector element
Returns
a shared pointer to an instance of the detector element

◆ databaseEntryName()

const std::string & ActsPlugins::GeoModelDetectorElement::databaseEntryName ( ) const

Get the string identifier of the corresponding database entry Note: This is not by defnitition a unique identifier, there can be several detector elements created from a single database entry.

◆ isSensitive()

bool ActsPlugins::GeoModelDetectorElement::isSensitive ( ) const
finalvirtual

Is the detector element a sensitive element.

Implements Acts::SurfacePlacementBase.

◆ localToGlobalTransform()

const Acts::Transform3 & ActsPlugins::GeoModelDetectorElement::localToGlobalTransform ( const Acts::GeometryContext & gctx) const
overridevirtual

Return local to global transform associated with this detector element.

Parameters
gctxThe current geometry context object, e.g. alignment

Implements Acts::SurfacePlacementBase.

◆ logVolName()

const std::string & ActsPlugins::GeoModelDetectorElement::logVolName ( ) const

Get the name of the logical volume.

◆ nominalTransform()

const Acts::Transform3 & ActsPlugins::GeoModelDetectorElement::nominalTransform ( ) const

Return the nominal - non-contextual transform.

◆ physicalVolume()

PVConstLink ActsPlugins::GeoModelDetectorElement::physicalVolume ( ) const
Returns
to the Geant4 physical volume

◆ setDatabaseEntryName()

void ActsPlugins::GeoModelDetectorElement::setDatabaseEntryName ( const std::string & n)

Set the corresponding database entry string.

◆ surface() [1/2]

const Acts::Surface & ActsPlugins::GeoModelDetectorElement::surface ( ) const
overridevirtual

Return surface associated with this detector element.

Implements Acts::SurfacePlacementBase.

◆ surface() [2/2]

Acts::Surface & ActsPlugins::GeoModelDetectorElement::surface ( )
overridevirtual

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

Implements Acts::SurfacePlacementBase.

◆ thickness()

double ActsPlugins::GeoModelDetectorElement::thickness ( ) const

Return the thickness of this detector element.