|
ACTS
Experiment-independent tracking
|
Class for a StrawSurface in the TrackingGeometry to describe dirft tube and straw like detectors. More...
#include <Acts/Surfaces/StrawSurface.hpp>
Public Member Functions | |
| std::string | name () const final |
| Return properly formatted class name for screen output */. | |
| Polyhedron | polyhedronRepresentation (const GeometryContext &gctx, unsigned int quarterSegments) const final |
| Return a Polyhedron for the surfaces. | |
| SurfaceType | type () const final |
| Return the surface type. | |
| Public Member Functions inherited from Acts::LineSurface | |
| AlignmentToPathMatrix | alignmentToPathDerivative (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction) const final |
| Calculate the derivative of path length at the geometry constraint or point-of-closest-approach w.r.t. | |
| void | assignSurfaceBounds (std::shared_ptr< const LineBounds > newBounds) |
| Overwrite the existing surface bounds with new ones. | |
| const SurfaceBounds & | bounds () const final |
| This method returns the bounds of the surface by reference. | |
| const std::shared_ptr< const LineBounds > & | boundsPtr () const |
| This method returns the shared_ptr to the LineBounds. | |
| BoundToFreeMatrix | boundToFreeJacobian (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction) const final |
| Calculate the jacobian from local to global which the surface knows best, hence the calculation is done here. | |
| FreeToPathMatrix | freeToPathDerivative (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction) const final |
| Calculate the derivative of path length at the geometry constraint or point-of-closest-approach w.r.t. | |
| Result< Vector2 > | globalToLocal (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction, double tolerance=s_onSurfaceTolerance) const final |
| Specified for LineSurface: global to local method without dynamic memory allocation. | |
| MultiIntersection3D | intersect (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction, const BoundaryTolerance &boundaryTolerance=BoundaryTolerance::Infinite(), double tolerance=s_onSurfaceTolerance) const final |
| Calculate the straight-line intersection with the line surface. | |
| Vector3 | lineDirection (const GeometryContext &gctx) const |
| Get the line direction in global coordinates. | |
| Matrix< 2, 3 > | localCartesianToBoundLocalDerivative (const GeometryContext &gctx, const Vector3 &position) const final |
| Calculate the derivative of bound track parameters local position w.r.t. | |
| Vector3 | localToGlobal (const GeometryContext &gctx, const Vector2 &lposition, const Vector3 &direction) const final |
| Local to global transformation. | |
| Vector3 | normal (const GeometryContext &gctx, const Vector3 &pos, const Vector3 &direction) const override |
Return the surface normal at a given position and direction. | |
| LineSurface & | operator= (const LineSurface &other) |
| Assignment operator. | |
| double | pathCorrection (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction) const override |
| the pathCorrection for derived classes with thickness is by definition 1 for LineSurfaces | |
| RotationMatrix3 | referenceFrame (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction) const final |
| Return the measurement frame - this is needed for alignment, in particular. | |
| Vector3 | referencePosition (const GeometryContext &gctx, AxisDirection aDir) const final |
| The binning position is the position calculated for a certain binning type. | |
| Public Member Functions inherited from Acts::Surface | |
| AlignmentToBoundMatrix | alignmentToBoundDerivative (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction, const FreeVector &pathDerivative) const |
| The derivative of bound track parameters w.r.t. | |
| void | assignIsSensitive (bool isSensitive) |
| Assign whether the surface is sensitive. | |
| void | assignSurfaceMaterial (std::shared_ptr< const ISurfaceMaterial > material) |
| Assign the surface material description. | |
| void | assignSurfacePlacement (const SurfacePlacementBase &placement) |
| Assign a placement object which may dynamically align the surface in space. | |
| void | assignThickness (double thick) |
| Assign the thickness of the surface in the orthogonal dimension. | |
| const Layer * | associatedLayer () const |
| Return method for the associated Layer in which the surface is embedded. | |
| void | associateLayer (const Layer &lay) |
| 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. | |
| virtual Vector3 | center (const GeometryContext &gctx) const |
| Return method for the surface center. | |
| virtual Vector2 | closestPointOnBoundary (const Vector2 &lposition, const SquareMatrix2 &metric) const |
| Calculates the closest point on the boundary of the surface to a given point in local coordinates. | |
| virtual double | distanceToBoundary (const Vector2 &lposition) const |
| Calculates the distance to the boundary of the surface from a given point in local coordinates. | |
| virtual FreeToBoundMatrix | freeToBoundJacobian (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction) const |
| Calculate the jacobian from global to local which the surface knows best, hence the calculation is done here. | |
| std::shared_ptr< Surface > | getSharedPtr () |
Retrieve a std::shared_ptr for this surface (non-const version). | |
| std::shared_ptr< const Surface > | getSharedPtr () const |
Retrieve a std::shared_ptr for this surface (const version). | |
| virtual bool | insideBounds (const Vector2 &lposition, const BoundaryTolerance &boundaryTolerance=BoundaryTolerance::None()) const |
| The insideBounds method for local positions. | |
| bool | isAlignable () const |
| Returns whether the Surface is alignable. | |
| bool | isOnSurface (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction, const BoundaryTolerance &boundaryTolerance=BoundaryTolerance::None(), double tolerance=s_onSurfaceTolerance) const |
| The geometric onSurface method. | |
| bool | isSensitive () const |
| Returns whether the Surface is sensitive. | |
| const Transform3 & | localToGlobalTransform (const GeometryContext &gctx) const |
| Return method for the surface Transform3 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. | |
| Surface & | operator= (const Surface &other) noexcept=default |
| Assignment operator. | |
| bool | operator== (const Surface &other) const |
| Comparison (equality) operator The strategy for comparison is (a) first pointer comparison (b) then type comparison (c) then bounds comparison (d) then transform comparison. | |
| const ISurfaceMaterial * | surfaceMaterial () const |
| Return method for the associated Material to this surface. | |
| const std::shared_ptr< const ISurfaceMaterial > & | surfaceMaterialSharedPtr () const |
| Return method for the shared pointer to the associated Material. | |
| const SurfacePlacementBase * | surfacePlacement () const |
| Return the associated surface placement if there is any. | |
| double | thickness () const |
| Return the thickness of the surface in the normal direction. | |
| GeometryContextOstreamWrapper< Surface > | toStream (const GeometryContext &gctx) const |
| Helper method for printing: the returned object captures the surface and the geometry context and will print the surface. | |
| std::string | toString (const GeometryContext &gctx) const |
| Output into a std::string. | |
| void | visualize (IVisualization3D &helper, const GeometryContext &gctx, const ViewConfig &viewConfig=s_viewSurface) const |
| Visualize the surface for debugging and inspection. | |
| Public Member Functions inherited from Acts::GeometryObject | |
| GeometryObject ()=default | |
| Defaulted constructor. | |
| GeometryObject (const GeometryIdentifier &geometryId) | |
| Constructor from a value. | |
| GeometryObject (const GeometryObject &)=default | |
| Defaulted copy constructor. | |
| void | assignGeometryId (const GeometryIdentifier &geometryId) |
| Set the value. | |
| GeometryIdentifier | geometryId () const |
| virtual double | referencePositionValue (const GeometryContext &gctx, AxisDirection aDir) const |
| Implement the binningValue. | |
Additional Inherited Members | |
| Public Types inherited from Acts::Surface | |
| enum | SurfaceType { Cone = 0 , Cylinder = 1 , Disc = 2 , Perigee = 3 , Plane = 4 , Straw = 5 , Curvilinear = 6 , Other = 7 } |
| This enumerator simplifies the persistency & calculations, by saving a dynamic_cast, e.g. More... | |
| Static Public Member Functions inherited from Acts::Surface | |
| template<class T, typename... Args> | |
| static std::shared_ptr< T > | makeShared (Args &&... args) |
| Factory for producing memory managed instances of Surface. | |
| Static Public Attributes inherited from Acts::Surface | |
| static constexpr std::array< std::string_view, Surface::SurfaceType::Other+1 > | s_surfaceTypeNames |
| Helper strings for screen output. | |
| Protected Member Functions inherited from Acts::LineSurface | |
| LineSurface (const GeometryContext &gctx, const LineSurface &other, const Transform3 &shift) | |
| Copy constructor - with shift. | |
| LineSurface (const LineSurface &other) | |
| Copy constructor. | |
| LineSurface (const Transform3 &transform, double radius, double halez) | |
| Constructor for LineSurface from Transform3 and radial dimensions. | |
| LineSurface (const Transform3 &transform, std::shared_ptr< const LineBounds > lbounds=nullptr) | |
| Constructor for LineSurface from Transform3 and LineBounds. | |
| LineSurface (std::shared_ptr< const LineBounds > lbounds, const SurfacePlacementBase &placement) | |
| Constructor from SurfacePlacementBase : Element proxy. | |
| Protected Member Functions inherited from Acts::Surface | |
| Surface (const GeometryContext &gctx, const Surface &other, const Transform3 &shift) noexcept | |
| Copy constructor with optional shift. | |
| Surface (const Surface &other) noexcept=default | |
| Copy constructor. | |
| Surface (const SurfacePlacementBase &placement) noexcept | |
| Constructor from SurfacePlacement: Element proxy. | |
| Surface (const Transform3 &transform=Transform3::Identity()) | |
| Constructor with Transform3 as a shared object. | |
| virtual std::ostream & | toStreamImpl (const GeometryContext &gctx, std::ostream &sl) const |
| Output Method for std::ostream, to be overloaded by child classes. | |
| Protected Attributes inherited from Acts::LineSurface | |
| std::shared_ptr< const LineBounds > | m_bounds |
| bounds (shared) | |
| Protected Attributes inherited from Acts::Surface | |
| CloneablePtr< const Transform3 > | m_transform {} |
| Transform3 definition that positions (translation, rotation) the surface in global space. | |
| Protected Attributes inherited from Acts::GeometryObject | |
| GeometryIdentifier | m_geometryId |
| Unique geometry identifier for this object. | |
Class for a StrawSurface in the TrackingGeometry to describe dirft tube and straw like detectors.
|
finalvirtual |
Return properly formatted class name for screen output */.
Reimplemented from Acts::LineSurface.
|
finalvirtual |
Return a Polyhedron for the surfaces.
| gctx | The current geometry context object, e.g. alignment |
| quarterSegments | is the number of segments used to describe curved segments in a quarter of the phi range. If it is 1, then only the extrema points in phi are inserted next to the segment corners. |
Implements Acts::Surface.
|
finalvirtual |
Return the surface type.
Implements Acts::Surface.