|
| std::string | name () const final |
| | Return properly formatted class name for screen output */.
|
| PerigeeSurface & | operator= (const PerigeeSurface &other) |
| | Assignment operator.
|
| Polyhedron | polyhedronRepresentation (const GeometryContext &gctx, unsigned int ingoreSegments) const final |
| | Return a Polyhedron for the surfaces.
|
| SurfaceType | type () const final |
| | Return the surface type.
|
| 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.
|
| ActsMatrix< 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.
|
| | ~Surface () noexcept override |
| 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 | assignDetectorElement (const SurfacePlacementBase &detelement) |
| | Assign a detector element.
|
| 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 DetectorElementBase * | associatedDetectorElement () const |
| | Return method for the associated Detector Element.
|
| 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) |
| | 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.
|
| const Transform3 & | transform (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.
|
| void | visualize (IVisualization3D &helper, const GeometryContext &gctx, const ViewConfig &viewConfig=s_viewSurface) const |
| | Visualize the surface for debugging and inspection.
|
| | GeometryObject ()=default |
| | Defaulted constructor.
|
| | GeometryObject (const GeometryIdentifier &geometryId) |
| | Constructor from a value.
|
| | GeometryObject (const GeometryObject &)=default |
| | Defaulted copy constructor.
|
| virtual | ~GeometryObject () noexcept=default |
| void | assignGeometryId (const GeometryIdentifier &geometryId) |
| | Set the value.
|
| GeometryIdentifier | geometryId () const |
| virtual double | referencePositionValue (const GeometryContext &gctx, AxisDirection aDir) const |
| | Implement the binningValue.
|
|
| | PerigeeSurface (const GeometryContext &gctx, const PerigeeSurface &other, const Transform3 &shift) |
| | Copy constructor - with shift.
|
| | PerigeeSurface (const PerigeeSurface &other) |
| | Copy constructor.
|
| | PerigeeSurface (const Transform3 &transform) |
| | Constructor with a Transform - needed for tilt.
|
| | PerigeeSurface (const Vector3 &gp) |
| | Constructor from GlobalPosition.
|
| std::ostream & | toStreamImpl (const GeometryContext &gctx, std::ostream &sl) const final |
| | Output Method for std::ostream.
|
| | 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.
|
| | Surface (const GeometryContext &gctx, const Surface &other, const Transform3 &shift) noexcept |
| | Copy constructor with optional shift.
|
| | Surface (const Surface &other) noexcept |
| | 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.
|
Class describing the Line to which the Perigee refers to.
The Surface axis is fixed to be the z-axis of the Tracking frame. It inherits from StraingLineSurface.