![]() |
ATLAS Offline Software
|
: Helper class to assign a @Acts::SurfacePlacementBase to the Acts::Surfaces in order to make them alignable. More...
#include <SurfacePlacement.h>
Public Member Functions | |
| virtual | ~SurfacePlacement ()=default |
| SurfacePlacement (const SurfacePlacement &other)=delete | |
| Delete the copy consturctor. | |
| SurfacePlacement & | operator= (const SurfacePlacement &other)=delete |
| The copy assignment operator. | |
| SurfacePlacement (SurfacePlacement &&other)=delete | |
| Delete the move constructor. | |
| SurfacePlacement & | operator= (SurfacePlacement &&other)=delete |
| Delete the move assignment operator. | |
| const Acts::Transform3 & | localToGlobalTransform (const Acts::GeometryContext &tgContext) const override final |
| const Acts::Surface & | surface () const override final |
| Acts::Surface & | surface () override final |
| std::shared_ptr< Acts::Surface > | getSurface () const |
| Returns a mutable shared pointer to the surface held by the placement. | |
| IdentifierHash | hash () const |
| Identifierhash of the associated IReadoutSurfacePositioning. | |
| Identifier | identify () const override final |
| Return the ATLAS identifier of the surface. | |
| DetectorType | detectorType () const override final |
| Returns the detector element type. | |
| const IDetectorElement * | detectorElement () const override final |
| Returns the detector element upstream. | |
| virtual bool | isSensitive () const override final |
| Define all ISurfacePlacements to be sensitive. | |
Static Public Member Functions | |
| template<typename Surface_t, typename Bounds_t> requires (std::is_base_of_v<Acts::SurfaceBounds, Bounds_t>) | |
| static std::shared_ptr< SurfacePlacement > | makeShared (IReadoutSurfacePositioning &transformCache, std::shared_ptr< Bounds_t > &&bounds) |
| Factory method to create a SurfacePlacement together with an Acts::Surface. | |
Private Member Functions | |
| SurfacePlacement (IReadoutSurfacePositioning *transformCache) | |
| Constructor taking the SurfacePositioning object. | |
Private Attributes | |
| const IReadoutSurfacePositioning * | m_transformCache {nullptr} |
| Pointer to the parent. | |
: Helper class to assign a @Acts::SurfacePlacementBase to the Acts::Surfaces in order to make them alignable.
The class implements the ISurfacePlacement extension to make the surface's ATLAS identifier available to the user. It uses the IReadoutElementPositioning to forward the handling of the alignment. Also, it is used to take shared ownership of the associated Surface and of the SurfacePlacement instance itself.
The class constructor is protected. Instead the factory method makeShared shall be used to create the SurfacePlacement together with the Acts::Surface to align
Definition at line 32 of file SurfacePlacement.h.
|
virtualdefault |
|
delete |
Delete the copy consturctor.
|
delete |
Delete the move constructor.
|
explicitprivate |
Constructor taking the SurfacePositioning object.
Definition at line 11 of file SurfacePlacement.cxx.
|
finaloverridevirtual |
Returns the detector element upstream.
Implements ActsTrk::ISurfacePlacement.
Definition at line 14 of file SurfacePlacement.cxx.
|
finaloverridevirtual |
Returns the detector element type.
Implements ActsTrk::ISurfacePlacement.
Definition at line 27 of file SurfacePlacement.cxx.
| std::shared_ptr< Acts::Surface > ActsTrk::SurfacePlacement::getSurface | ( | ) | const |
Returns a mutable shared pointer to the surface held by the placement.
Definition at line 24 of file SurfacePlacement.cxx.
| IdentifierHash ActsTrk::SurfacePlacement::hash | ( | ) | const |
Identifierhash of the associated IReadoutSurfacePositioning.
Definition at line 25 of file SurfacePlacement.cxx.
|
finaloverridevirtual |
Return the ATLAS identifier of the surface.
Implements ActsTrk::ISurfacePlacement.
Definition at line 26 of file SurfacePlacement.cxx.
|
inlinefinaloverridevirtualinherited |
Define all ISurfacePlacements to be sensitive.
Definition at line 29 of file ISurfacePlacement.h.
|
finaloverride |
Definition at line 15 of file SurfacePlacement.cxx.
|
static |
Factory method to create a SurfacePlacement together with an Acts::Surface.
The method is templated over the concrete Surface type which is to be instantiated e.g. Acts::PlaneSurface, and the surface bounds type that's passed to the surface at its construction. E.g.
auto bounds = std::make_shared<Acts::RectangleBounds>(5._cm, 5._cm); auto placement = SurfacePlacement::makeShared<Acts::RectangleSurface>(transformCache, std::move(bounds)); creates the placement, together with the bounds. The passed transform cache automatically takes over ownership. over the surface and the SurfacePlacement
| transformCache | The mutable reference taking ownership over the constructed placement and surface |
| bounds | The surface bounds with which the surface is instantiated. |
Definition at line 94 of file SurfacePlacement.h.
|
delete |
The copy assignment operator.
|
delete |
Delete the move assignment operator.
|
finaloverride |
Definition at line 18 of file SurfacePlacement.cxx.
|
finaloverride |
Definition at line 21 of file SurfacePlacement.cxx.
|
private |