ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::SurfacePlacementBase Class Referenceabstract

The SurfacePlacementBase is an API proxy to model the dynamic movement of the Acts::Surface representing e.g. More...

#include <Acts/Surfaces/SurfacePlacementBase.hpp>

Inheritance diagram for Acts::SurfacePlacementBase:
[legend]

Public Member Functions

virtual ~SurfacePlacementBase ()=default
 Virtual default constructor.
virtual bool isSensitive () const =0
 Returns whether the placement corresponds to a surface on which the measurements from the experiment are represented, i.e.
virtual const Transform3localToGlobalTransform (const GeometryContext &gctx) const =0
 Return the transform for the Element proxy mechanism.
virtual const Surfacesurface () const =0
 Get a reference to the surface that is associated with this placement element.
virtual Surfacesurface ()=0
 Get a reference to the surface that is associated with this placement element.

Detailed Description

The SurfacePlacementBase is an API proxy to model the dynamic movement of the Acts::Surface representing e.g.

the experiment's sensor planes.

If the user wants to let the sensor surface float, he has to implement an experiment-specifc class inheriting from SurfacePlacementBase and to instantiate the surface with such an instance.

In every call for the Surface's current position the GeometryContext which is also contextualized by the experiment is piped through the entire call stack until its piped back to the experiment specific implementation via the call of the SurfacePlacementBase::localToGlobalTransform. There the user needs to unpack the GeometryContext, look-up the appropriate cached transform and return it back to the Acts library

Constructor & Destructor Documentation

◆ ~SurfacePlacementBase()

virtual Acts::SurfacePlacementBase::~SurfacePlacementBase ( )
virtualdefault

Virtual default constructor.

Member Function Documentation

◆ isSensitive()

virtual bool Acts::SurfacePlacementBase::isSensitive ( ) const
pure virtual

Returns whether the placement corresponds to a surface on which the measurements from the experiment are represented, i.e.

it is

Implemented in Acts::DetectorElementBase, Acts::JsonDetectorElement, ActsPlugins::Geant4DetectorElement, ActsPlugins::GeoModelDetectorElement, and ActsPlugins::TGeoDetectorElement.

◆ localToGlobalTransform()

virtual const Transform3 & Acts::SurfacePlacementBase::localToGlobalTransform ( const GeometryContext & gctx) const
pure virtual

Return the transform for the Element proxy mechanism.

Parameters
gctxThe current geometry context object, e.g. alignment
Returns
reference to the transform to switch from the element's coordinates to the experiment's global coordinate system

Implemented in Acts::DetectorElementBase, Acts::JsonDetectorElement, ActsPlugins::Geant4DetectorElement, ActsPlugins::GeoModelDetectorElement, and ActsPlugins::TGeoDetectorElement.

◆ surface() [1/2]

virtual const Surface & Acts::SurfacePlacementBase::surface ( ) const
pure virtual

Get a reference to the surface that is associated with this placement element.

Note
It is expected that the surface returned will have it's Acts::Surface::surfacePlacement method return a pointer to this object.
Returns
Reference to a surface that represents this detector element

Implemented in Acts::JsonDetectorElement, ActsPlugins::Geant4DetectorElement, ActsPlugins::GeoModelDetectorElement, and ActsPlugins::TGeoDetectorElement.

◆ surface() [2/2]

virtual Surface & Acts::SurfacePlacementBase::surface ( )
pure virtual

Get a reference to the surface that is associated with this placement element.

Note
It is expected that the surface returned will have it's Acts::Surface::surfacePlacement method return a pointer to this object.
Returns
Reference to a surface that represents this detector element
Reference to a surface that represents this detector element

Implemented in Acts::JsonDetectorElement, ActsPlugins::Geant4DetectorElement, ActsPlugins::GeoModelDetectorElement, and ActsPlugins::TGeoDetectorElement.