EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
Abstract Base Class for tracking surfaces. More...
#include <acts/blob/sPHENIX/Core/include/Acts/Surfaces/Surface.hpp>
Public Types | |
enum | SurfaceType { Cone = 0, Cylinder = 1, Disc = 2, Perigee = 3, Plane = 4, Straw = 5, Curvilinear = 6, Other = 7 } |
Public Member Functions | |
virtual | ~Surface () |
std::shared_ptr< Surface > | getSharedPtr () |
std::shared_ptr< const Surface > | getSharedPtr () const |
Surface & | operator= (const Surface &other) |
virtual bool | operator== (const Surface &other) const |
virtual bool | operator!= (const Surface &sf) const |
virtual SurfaceType | type () const =0 |
Return method for the Surface type to avoid dynamic casts. | |
virtual const Transform3D & | transform (const GeometryContext &gctx) const |
virtual Vector3D | center (const GeometryContext &gctx) const |
virtual Vector3D | normal (const GeometryContext &gctx, const Vector2D &lposition) const =0 |
virtual Vector3D | normal (const GeometryContext &gctx, const Vector3D &position) const |
virtual Vector3D | normal (const GeometryContext &gctx) const |
virtual const SurfaceBounds & | bounds () const =0 |
const DetectorElementBase * | associatedDetectorElement () const |
const Layer * | associatedLayer () const |
void | associateLayer (const Layer &lay) |
const ISurfaceMaterial * | surfaceMaterial () const |
const std::shared_ptr< const ISurfaceMaterial > & | surfaceMaterialSharedPtr () const |
void | assignSurfaceMaterial (std::shared_ptr< const ISurfaceMaterial > material) |
bool | isOnSurface (const GeometryContext &gctx, const Vector3D &position, const Vector3D &momentum, const BoundaryCheck &bcheck=true) const |
virtual bool | insideBounds (const Vector2D &lposition, const BoundaryCheck &bcheck=true) const |
virtual Vector3D | localToGlobal (const GeometryContext &gctx, const Vector2D &lposition, const Vector3D &momentum) const =0 |
virtual Result< Vector2D > | globalToLocal (const GeometryContext &gctx, const Vector3D &position, const Vector3D &momentum) const =0 |
virtual Acts::RotationMatrix3D | referenceFrame (const GeometryContext &gctx, const Vector3D &position, const Vector3D &momentum) const |
virtual void | initJacobianToGlobal (const GeometryContext &gctx, BoundToFreeMatrix &jacobian, const Vector3D &position, const Vector3D &direction, const BoundVector &pars) const |
virtual RotationMatrix3D | initJacobianToLocal (const GeometryContext &gctx, FreeToBoundMatrix &jacobian, const Vector3D &position, const Vector3D &direction) const |
virtual BoundRowVector | derivativeFactors (const GeometryContext &gctx, const Vector3D &position, const Vector3D &direction, const RotationMatrix3D &rft, const BoundToFreeMatrix &jacobian) const |
virtual double | pathCorrection (const GeometryContext &gctx, const Vector3D &position, const Vector3D &direction) const =0 |
virtual SurfaceIntersection | intersect (const GeometryContext &gctx, const Vector3D &position, const Vector3D &direction, const BoundaryCheck &bcheck) const =0 |
virtual std::ostream & | toStream (const GeometryContext &gctx, std::ostream &sl) const |
virtual std::string | name () const =0 |
Return properly formatted class name. | |
virtual Polyhedron | polyhedronRepresentation (const GeometryContext &gctx, size_t lseg) const =0 |
AlignmentToBoundMatrix | alignmentToBoundDerivative (const GeometryContext &gctx, const FreeVector &derivatives, const Vector3D &position, const Vector3D &direction) const |
virtual AlignmentRowVector | alignmentToPathDerivative (const GeometryContext &gctx, const RotationMatrix3D &rotToLocalZAxis, const Vector3D &position, const Vector3D &direction) const |
virtual LocalCartesianToBoundLocalMatrix | localCartesianToBoundLocalDerivative (const GeometryContext &gctx, const Vector3D &position) const =0 |
Public Member Functions inherited from Acts::GeometryObject | |
GeometryObject ()=default | |
Defaulted construrctor. | |
GeometryObject (const GeometryObject &)=default | |
Defaulted copy constructor. | |
GeometryObject (const GeometryIdentifier &geometryId) | |
GeometryObject & | operator= (const GeometryObject &geometryId) |
const GeometryIdentifier & | geometryId () const |
virtual Vector3D | binningPosition (const GeometryContext &gctx, BinningValue bValue) const =0 |
virtual double | binningPositionValue (const GeometryContext &gctx, BinningValue bValue) const |
void | assignGeometryId (const GeometryIdentifier &geometryId) |
Static Public Member Functions | |
template<class T , typename... Args> | |
static std::shared_ptr< T > | makeShared (Args &&...args) |
Protected Member Functions | |
Surface (const Transform3D &transform=Transform3D::Identity()) | |
Surface (const Surface &other) | |
Surface (const DetectorElementBase &detelement) | |
Surface (const GeometryContext &gctx, const Surface &other, const Transform3D &shift) | |
Protected Attributes | |
Transform3D | m_transform = Transform3D::Identity() |
const DetectorElementBase * | m_associatedDetElement {nullptr} |
Pointer to the a DetectorElementBase. | |
const Layer * | m_associatedLayer {nullptr} |
const TrackingVolume * | m_associatedTrackingVolume {nullptr} |
std::shared_ptr< const ISurfaceMaterial > | m_surfaceMaterial |
Possibility to attach a material descrption. | |
Protected Attributes inherited from Acts::GeometryObject | |
GeometryIdentifier | m_geometryId |
Abstract Base Class for tracking surfaces.
The Surface class builds the core of the Acts Tracking Geometry. All other geometrical objects are either extending the surface or are built from it.
Surfaces are either owned by Detector elements or the Tracking Geometry, in which case they are not copied within the data model objects.
Definition at line 52 of file Surface.hpp.
View newest version in sPHENIX GitHub at line 52 of file Surface.hpp
enum Acts::Surface::SurfaceType |
This enumerator simplifies the persistency & calculations, by saving a dynamic_cast, e.g. for persistency
Definition at line 59 of file Surface.hpp.
View newest version in sPHENIX GitHub at line 59 of file Surface.hpp
|
protected |
Constructor with Transform3D as a shared object
transform | Transform3D positions the surface in 3D global space |
Definition at line 17 of file Surface.cpp.
View newest version in sPHENIX GitHub at line 17 of file Surface.cpp
|
protected |
Copy constructor
other | Source surface for copy. |
Definition at line 23 of file Surface.cpp.
View newest version in sPHENIX GitHub at line 23 of file Surface.cpp
|
protected |
Constructor fromt DetectorElementBase: Element proxy
detelement | Detector element which is represented by this surface |
Definition at line 20 of file Surface.cpp.
View newest version in sPHENIX GitHub at line 20 of file Surface.cpp
|
protected |
Copy constructor with optional shift
gctx | The current geometry context object, e.g. alignment |
other | Source surface for copy |
shift | Additional transform applied as: shift * transform |
Definition at line 29 of file Surface.cpp.
View newest version in sPHENIX GitHub at line 29 of file Surface.cpp
|
virtualdefault |
Acts::AlignmentToBoundMatrix Acts::Surface::alignmentToBoundDerivative | ( | const GeometryContext & | gctx, |
const FreeVector & | derivatives, | ||
const Vector3D & | position, | ||
const Vector3D & | direction | ||
) | const |
The derivative of bound track parameters w.r.t. alignment parameters of its reference surface (i.e. local frame origin in global 3D Cartesian coordinates and its rotation represented with extrinsic Euler angles)
gctx | The current geometry context object, e.g. alignment |
derivatives | Path length derivatives of the free, nominal parameters to help evaluate change of free track parameters caused by change of alignment parameters |
position | The position of the paramters in global |
direction | The direction of the track |
Definition at line 50 of file Surface.cpp.
View newest version in sPHENIX GitHub at line 50 of file Surface.cpp
References Acts::eAlignmentCenter0, Acts::eAlignmentRotation0, Acts::eAlignmentSize, Acts::eBoundLoc0, Acts::eBoundPhi, Acts::eFreePos0, Acts::eFreeSize, Acts::eX, Acts::eY, Acts::eZ, Acts::detail::rotationToLocalAxesDerivative(), and Acts::Test::transform.
|
virtual |
Calculate the derivative of path length w.r.t. alignment parameters of the surface (i.e. local frame origin in global 3D Cartesian coordinates and its rotation represented with extrinsic Euler angles)
Re-implementation is needed for surface whose intersection with track is not its local xy plane, e.g. LineSurface, CylinderSurface and ConeSurface
gctx | The current geometry context object, e.g. alignment |
rotToLocalZAxis | The derivative of local frame z axis vector w.r.t. its rotation |
position | The position of the paramters in global |
direction | The direction of the track |
Reimplemented in Acts::LineSurface.
Definition at line 109 of file Surface.cpp.
View newest version in sPHENIX GitHub at line 109 of file Surface.cpp
References Acts::eAlignmentCenter0, Acts::eAlignmentRotation0, and Acts::Test::transform.
|
inline |
Assign the surface material description
The material is usually derived in a complicated way and loaded from a framework given source. As various surfaces may share the same source this is provided by a shared pointer
material | Material description associated to this surface |
Definition at line 134 of file Surface.ipp.
View newest version in sPHENIX GitHub at line 134 of file Surface.ipp
Referenced by Acts::addLayerProtoMaterial(), Acts::TrackingVolume::assignBoundaryMaterial(), Acts::Test::BOOST_AUTO_TEST_CASE(), ActsExamples::Generic::LayerBuilderT< detector_element_t >::centralLayers(), ActsExamples::Generic::LayerBuilderT< detector_element_t >::constructEndcapLayers(), ActsExamples::Generic::GenericDetectorElement::GenericDetectorElement(), Acts::TrackingVolume::glueTrackingVolume(), Acts::CylinderVolumeHelper::glueTrackingVolumes(), Acts::Test::CylindricalTrackingGeometry::operator()(), and Acts::TrackingVolume::updateBoundarySurface().
|
inline |
Return method for the associated Detector Element
Definition at line 117 of file Surface.ipp.
View newest version in sPHENIX GitHub at line 117 of file Surface.ipp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::filter(), Acts::CombinatorialKalmanFilter< propagator_t, updater_t, smoother_t, source_link_selector_t, branch_stopper_t, calibrator_t >::Actor< source_link_t, parameters_t >::filter(), Acts::SurfaceSelector::operator()(), and Acts::EventDataView3DTest::testMultiTrajectory().
|
inline |
Return method for the associated Layer in which the surface is embedded
Definition at line 121 of file Surface.ipp.
View newest version in sPHENIX GitHub at line 121 of file Surface.ipp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
Set Associated Layer Many surfaces can be associated to a Layer, but it might not be known yet during construction of the layer, this can be set afterwards
lay | the assignment Layer by reference |
Definition at line 139 of file Surface.ipp.
View newest version in sPHENIX GitHub at line 139 of file Surface.ipp
Referenced by Acts::LayerCreator::associateSurfacesToLayer(), Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::PlaneLayer::buildApproachDescriptor(), Acts::CylinderLayer::CylinderLayer(), Acts::Test::CubicTrackingGeometry::operator()(), Acts::PlaneLayer::PlaneLayer(), and Acts::GenericApproachDescriptor::registerLayer().
|
pure virtual |
Return method for SurfaceBounds
Implemented in Acts::LineSurface, Acts::CylinderSurface, Acts::ConeSurface, Acts::PlaneSurface, and Acts::SurfaceStub.
Referenced by Acts::JsonGeometryConverter::addSurfaceToJson(), Acts::adjustBinUtility(), Acts::LayerArrayCreator::createNavigationSurface(), Acts::SurfaceArrayCreator::createVariableAxis(), Acts::JsonGeometryConverter::DefaultBin(), operator==(), and ActsExamples::RootMaterialTrackWriter::writeT().
|
inlinevirtual |
Return method for the surface center by reference
gctx | The current geometry context object, e.g. alignment |
Definition at line 9 of file Surface.ipp.
View newest version in sPHENIX GitHub at line 9 of file Surface.ipp
References Acts::Test::transform.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::PlaneLayer::buildApproachDescriptor(), Acts::AtlasStepper< bfield_t >::covarianceTransport(), Acts::ImpactPointEstimator< input_track_t, propagator_t, propagator_options_t >::getDistanceAndMomentum(), normal(), and Acts::EventDataView3DTest::testMultiTrajectory().
|
inlinevirtual |
Calculate the form factors for the derivatives the calculation is identical for all surfaces where the reference frame does not depend on the direction
gctx | The current geometry context object, e.g. alignment |
position | is the position of the paramters in global |
direction | is the direction of the track |
rft | is the transposed reference frame (avoids recalculation) |
jacobian | is the transport jacobian |
Reimplemented in Acts::LineSurface.
Definition at line 106 of file Surface.ipp.
View newest version in sPHENIX GitHub at line 106 of file Surface.ipp
References Acts::eBoundSize.
std::shared_ptr< Acts::Surface > Acts::Surface::getSharedPtr | ( | ) |
Retrieve a std::shared_ptr
for this surface (non-const version)
makeShared
factory since it needs access to the original reference. In C++14 this is undefined behavior (but most likely implemented as a bad_weak_ptr
exception), in C++17 it is defined as that exception. Definition at line 132 of file Surface.cpp.
View newest version in sPHENIX GitHub at line 132 of file Surface.cpp
Referenced by Acts::Test::PropagatorState::Stepper::boundState(), Acts::detail::boundState(), Acts::AtlasStepper< bfield_t >::boundState(), Acts::DD4hepLayerBuilder::createSensitiveSurface(), Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::filter(), ActsExamples::SimSourceLink::operator*(), ActsExamples::CsvPlanarClusterReader::read(), and Acts::EventDataView3DTest::testMultiTrajectory().
std::shared_ptr< const Acts::Surface > Acts::Surface::getSharedPtr | ( | ) | const |
Retrieve a std::shared_ptr
for this surface (const version)
makeShared
factory since it needs access to the original reference. In C++14 this is undefined behavior, but most likely implemented as a bad_weak_ptr
exception, in C++17 it is defined as that exception. Definition at line 136 of file Surface.cpp.
View newest version in sPHENIX GitHub at line 136 of file Surface.cpp
|
pure virtual |
Global to local transformation Generalized global to local transformation for the surface types. Since some surface types need the global momentum/direction to resolve sign ambiguity this is also provided
gctx | The current geometry context object, e.g. alignment |
position | global 3D position - considered to be on surface but not inside bounds (check is done) |
momentum | global 3D momentum representation (optionally ignored) |
Implemented in Acts::LineSurface, Acts::CylinderSurface, Acts::ConeSurface, Acts::PlaneSurface, and Acts::SurfaceStub.
Referenced by ActsExamples::HitSmearing::execute(), ActsFatras::detail::Interactor< generator_t, physics_list_t, hit_surface_selector_t >::operator()(), ActsExamples::CsvPlanarClusterReader::read(), and Acts::detail::transformFreeToBoundParameters().
|
inlinevirtual |
Initialize the jacobian from local to global the surface knows best, hence the calculation is done here. The jacobian is assumed to be initialised, so only the relevant entries are filled
gctx | The current geometry context object, e.g. alignment |
jacobian | is the jacobian to be initialized |
position | is the global position of the parameters |
direction | is the direction at of the parameters |
pars | is the parameter vector |
Reimplemented in Acts::LineSurface.
Definition at line 39 of file Surface.ipp.
View newest version in sPHENIX GitHub at line 39 of file Surface.ipp
References Acts::eBoundPhi, Acts::eBoundQOverP, Acts::eBoundTheta, Acts::eBoundTime, x, y, and z.
Referenced by Acts::StraightLineStepper::resetState(), and Acts::EigenStepper< bfield_t, extensionlist_t, auctioneer_t >::resetState().
|
inlinevirtual |
Initialize the jacobian from global to local the surface knows best, hence the calculation is done here. The jacobian is assumed to be initialised, so only the relevant entries are filled
jacobian | is the jacobian to be initialized |
position | is the global position of the parameters |
direction | is the direction at of the parameters |
gctx | The current geometry context object, e.g. alignment |
Definition at line 75 of file Surface.ipp.
View newest version in sPHENIX GitHub at line 75 of file Surface.ipp
References Acts::eBoundPhi, Acts::eBoundQOverP, Acts::eBoundTheta, Acts::eBoundTime, x, y, and z.
|
inlinevirtual |
The insideBounds method for local positions
lposition | The local position to check |
bcheck | BoundaryCheck directive for this onSurface check |
Definition at line 28 of file Surface.ipp.
View newest version in sPHENIX GitHub at line 28 of file Surface.ipp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
pure virtual |
Straight line intersection schema from position/direction
gctx | The current geometry context object, e.g. alignment |
position | The position to start from |
direction | The direction at start |
bcheck | the Boundary Check |
Implemented in Acts::LineSurface, Acts::CylinderSurface, Acts::PlaneSurface, Acts::ConeSurface, and Acts::SurfaceStub.
Referenced by Acts::Layer::compatibleSurfaces(), Acts::TrackingVolume::compatibleSurfacesFromHierarchy(), Acts::SurfaceReached::operator()(), Acts::Layer::surfaceOnApproach(), Acts::detail::updateSingleSurfaceStatus(), and ActsExamples::RootMaterialTrackWriter::writeT().
bool Acts::Surface::isOnSurface | ( | const GeometryContext & | gctx, |
const Vector3D & | position, | ||
const Vector3D & | momentum, | ||
const BoundaryCheck & | bcheck = true |
||
) | const |
The geometric onSurface method
Geometrical check whether position is on Surface
gctx | The current geometry context object, e.g. alignment |
position | global position to be evaludated |
momentum | global momentum (required for line-type surfaces) |
bcheck | BoundaryCheck directive for this onSurface check |
Definition at line 38 of file Surface.cpp.
View newest version in sPHENIX GitHub at line 38 of file Surface.cpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), and Acts::BoundarySurfaceT< volume_t >::onBoundary().
|
pure virtual |
Calculate the derivative of bound track parameters local position w.r.t. position in local 3D Cartesian coordinates
gctx | The current geometry context object, e.g. alignment |
position | The position of the paramters in global |
Implemented in Acts::LineSurface, Acts::CylinderSurface, Acts::ConeSurface, Acts::PlaneSurface, and Acts::SurfaceStub.
|
pure virtual |
Local to global transformation Generalized local to global transformation for the surface types. Since some surface types need the global momentum/direction to resolve sign ambiguity this is also provided
gctx | The current geometry context object, e.g. alignment |
lposition | local 2D position in specialized surface frame |
momentum | global 3D momentum representation (optionally ignored) |
Implemented in Acts::LineSurface, Acts::CylinderSurface, Acts::ConeSurface, Acts::PlaneSurface, and Acts::SurfaceStub.
Referenced by Acts::SurfaceArrayCreator::makeGlobalVertices(), PHActsSiliconSeeding::makeSpacePoint(), and Acts::detail::transformBoundToFreeParameters().
|
inlinestatic |
Factory for producing memory managed instances of Surface. Will forward all parameters and will attempt to find a suitable constructor.
Definition at line 108 of file Surface.hpp.
View newest version in sPHENIX GitHub at line 108 of file Surface.hpp
References charm_jet_coverage::args, and T.
|
pure virtual |
Return properly formatted class name.
Implemented in Acts::LineSurface, Acts::ConeSurface, Acts::CylinderSurface, Acts::PlaneSurface, Acts::SurfaceStub, Acts::StrawSurface, and Acts::PerigeeSurface.
Referenced by eicpy.verify.PythiaHistograms::__init__(), eicpy.verify.DjangohHistograms::__init__(), Acts::JsonGeometryConverter::DefaultBin(), and Acts::detail::printBoundParameters().
|
pure virtual |
Return method for the normal vector of the surface The normal vector can only be generally defined at a given local position It requires a local position to be given (in general)
gctx | The current geometry context object, e.g. alignment |
lposition | is the local position where the normal vector is constructed |
Implemented in Acts::CylinderSurface, Acts::ConeSurface, Acts::PlaneSurface, Acts::LineSurface, and Acts::SurfaceStub.
Referenced by Acts::PlaneLayer::buildApproachDescriptor(), normal(), and ActsFatras::detail::Interactor< generator_t, physics_list_t, hit_surface_selector_t >::operator()().
|
virtual |
Return method for the normal vector of the surface The normal vector can only be generally defined at a given local position It requires a local position to be given (in general)
position | is the global position where the normal vector is constructed |
gctx | The current geometry context object, e.g. alignment |
Reimplemented in Acts::CylinderSurface, Acts::ConeSurface, and Acts::SurfaceStub.
|
inlinevirtual |
Return method for the normal vector of the surface
It will return a normal vector at the center() position
gctx | The current geometry context object, e.g. alignment |
Reimplemented in Acts::SurfaceStub.
Definition at line 210 of file Surface.hpp.
View newest version in sPHENIX GitHub at line 210 of file Surface.hpp
References center(), and normal().
|
virtual |
Comparison (non-equality) operator
sf | Source surface for the comparison |
Definition at line 207 of file Surface.cpp.
View newest version in sPHENIX GitHub at line 207 of file Surface.cpp
References Acts::operator==().
Acts::Surface & Acts::Surface::operator= | ( | const Surface & | other | ) |
Assignment operator
other | Source surface for the assignment |
Definition at line 140 of file Surface.cpp.
View newest version in sPHENIX GitHub at line 140 of file Surface.cpp
References m_associatedDetElement, m_associatedLayer, m_surfaceMaterial, m_transform(), m_transform, and Acts::GeometryObject::operator=().
Referenced by Acts::LineSurface::operator=(), Acts::PlaneSurface::operator=(), Acts::ConeSurface::operator=(), and Acts::CylinderSurface::operator=().
|
virtual |
Comparison (equality) operator The strategy for comparison is (a) first pointer comparison (b) then type comparison (c) then bounds comparison (d) then transform comparison
other | source surface for the comparison |
Definition at line 152 of file Surface.cpp.
View newest version in sPHENIX GitHub at line 152 of file Surface.cpp
References bounds(), Acts::UnitConstants::e, m_associatedDetElement, m_surfaceMaterial, m_transform(), m_transform, and type().
|
pure virtual |
Calucation of the path correction for incident
gctx | The current geometry context object, e.g. alignment |
position | global 3D position - considered to be on surface but not inside bounds (check is done) |
direction | global 3D momentum direction |
Implemented in Acts::LineSurface, Acts::CylinderSurface, Acts::ConeSurface, Acts::PlaneSurface, and Acts::SurfaceStub.
Referenced by Acts::Layer::compatibleSurfaces(), and Acts::detail::PointwiseMaterialInteraction::evaluateMaterialSlab().
|
pure virtual |
Return a Polyhedron for this object
gctx | The current geometry context object, e.g. alignment |
lseg | Number of segments along curved lines, if the lseg is set to one, only the corners and the extrema are given, otherwise it represents the number of segments for a full 2*M_PI circle and is scaled to the relevant sector |
Implemented in Acts::CylinderSurface, Acts::ConeSurface, Acts::PlaneSurface, Acts::SurfaceStub, Acts::StrawSurface, Acts::PerigeeSurface, and Acts::Test::LineSurfaceStub.
Referenced by Acts::GeometryView3D::drawSurface(), and Acts::SurfaceBinningMatcher::operator()().
|
inlinevirtual |
Return mehtod for the reference frame This is the frame in which the covariance matrix is defined (specialized by all surfaces)
gctx | The current geometry context object, e.g. alignment |
position | global 3D position - considered to be on surface but not inside bounds (check is done) |
momentum | global 3D momentum representation (optionally ignored) |
Reimplemented in Acts::LineSurface, Acts::ConeSurface, and Acts::CylinderSurface.
Definition at line 33 of file Surface.ipp.
View newest version in sPHENIX GitHub at line 33 of file Surface.ipp
References Acts::Test::transform.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::AtlasStepper< bfield_t >::covarianceTransport(), and Acts::AtlasStepper< bfield_t >::resetState().
|
inline |
Return method for the associated Material to this surface
Definition at line 125 of file Surface.ipp.
View newest version in sPHENIX GitHub at line 125 of file Surface.ipp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::SurfaceMaterialMapper::checkAndInsert(), Acts::JsonGeometryConverter::convertToRep(), Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::filter(), Acts::CombinatorialKalmanFilter< propagator_t, updater_t, smoother_t, source_link_selector_t, branch_stopper_t, calibrator_t >::Actor< source_link_t, parameters_t >::filter(), Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::materialInteractor(), Acts::CombinatorialKalmanFilter< propagator_t, updater_t, smoother_t, source_link_selector_t, branch_stopper_t, calibrator_t >::Actor< source_link_t, parameters_t >::materialInteractor(), Acts::MaterialSurface::operator()(), Acts::SurfaceSelector::operator()(), ActsFatras::detail::Interactor< generator_t, physics_list_t, hit_surface_selector_t >::operator()(), Acts::MaterialInteractor::operator()(), and Acts::Layer::surfaceOnApproach().
|
inline |
Return method for the shared pointer to the associated Material
Definition at line 130 of file Surface.ipp.
View newest version in sPHENIX GitHub at line 130 of file Surface.ipp
Referenced by ActsExamples::RootMaterialWriter::collectMaterial(), and Acts::TrackingVolume::glueTrackingVolume().
|
virtual |
Output Method for std::ostream, to be overloaded by child classes
gctx | The current geometry context object, e.g. alignment |
sl | is the ostream to be dumped into |
Reimplemented in Acts::PerigeeSurface.
Definition at line 183 of file Surface.cpp.
View newest version in sPHENIX GitHub at line 183 of file Surface.cpp
References matrix(), name, and Acts::Test::transform.
Referenced by PHActsTrkFitter::getSourceLinks().
|
inlinevirtual |
Return method for the surface Transform3D by reference In case a detector element is associated the surface transform is just forwarded to the detector element in order to keep the (mis-)alignment cache cetrally handled
gctx | The current geometry context object, e.g. alignment |
Definition at line 20 of file Surface.ipp.
View newest version in sPHENIX GitHub at line 20 of file Surface.ipp
References m_transform().
Referenced by Acts::JsonGeometryConverter::addSurfaceToJson(), Acts::adjustBinUtility(), Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::PlaneLayer::buildApproachDescriptor(), Acts::LayerArrayCreator::createNavigationSurface(), and Acts::ImpactPointEstimator< input_track_t, propagator_t, propagator_options_t >::get3dVertexCompatibility().
|
pure virtual |
Return method for the Surface type to avoid dynamic casts.
Implemented in Acts::CylinderSurface, Acts::PlaneSurface, Acts::ConeSurface, Acts::StrawSurface, Acts::PerigeeSurface, Acts::Test::LineSurfaceStub, and Acts::SurfaceStub.
Referenced by Acts::adjustBinUtility(), Acts::AtlasStepper< bfield_t >::covarianceTransport(), Acts::LayerArrayCreator::createNavigationSurface(), Acts::Test::PlaneSelector::operator()(), operator==(), Acts::AtlasStepper< bfield_t >::resetState(), and ActsExamples::RootMaterialTrackWriter::writeT().
|
protected |
Pointer to the a DetectorElementBase.
Definition at line 481 of file Surface.hpp.
View newest version in sPHENIX GitHub at line 481 of file Surface.hpp
Referenced by operator=(), and operator==().
|
protected |
The associated layer Layer - layer in which the Surface is be embedded, nullptr if not associated
Definition at line 485 of file Surface.hpp.
View newest version in sPHENIX GitHub at line 485 of file Surface.hpp
Referenced by operator=().
|
protected |
The assoicated TrackingVolume - tracking volume in case the surface is a boundary surface, nullptr if not associated
Definition at line 489 of file Surface.hpp.
View newest version in sPHENIX GitHub at line 489 of file Surface.hpp
|
protected |
Possibility to attach a material descrption.
Definition at line 492 of file Surface.hpp.
View newest version in sPHENIX GitHub at line 492 of file Surface.hpp
Referenced by operator=(), and operator==().
|
protected |
Transform3D definition that positions (translation, rotation) the surface in global space
Definition at line 478 of file Surface.hpp.
View newest version in sPHENIX GitHub at line 478 of file Surface.hpp
Referenced by Acts::CylinderLayer::CylinderLayer(), operator=(), operator==(), and Acts::PlaneSurface::PlaneSurface().