Class to describe a disc-like detector layer for tracking, it inherits from both, Layer base class and DiscSurface class.
More...
|
| | DiscLayer ()=delete |
| | DiscLayer (const DiscLayer &cla)=delete |
| | ~DiscLayer () override=default |
| DiscLayer & | operator= (const DiscLayer &)=delete |
| const DiscSurface & | surfaceRepresentation () const override |
| | Transforms the layer into a Surface representation for extrapolation.
|
| DiscSurface & | surfaceRepresentation () override |
| | Non-const version of surface representation access.
|
| void | assignSurfaceBounds (std::shared_ptr< const DiscBounds > newBounds) |
| | Overwrite the existing surface bounds with new ones.
|
| const SurfaceBounds & | bounds () const final |
| | This method returns the bounds by reference.
|
| const std::shared_ptr< const DiscBounds > & | boundsPtr () const |
| | This method returns the shared_ptr to the DiscBounds.
|
| 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.
|
| FreeToBoundMatrix | freeToBoundJacobian (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction) const final |
| | Calculate the jacobian from global to local which the surface knows best, hence the calculation is done here.
|
| Result< Vector2 > | globalToLocal (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction, double tolerance=s_onSurfaceTolerance) const final |
| | Convert a global position to a local one this is the most generic interface, which is implemented by all surfaces.
|
| Result< Vector2 > | globalToLocal (const GeometryContext &gctx, const Vector3 &position, double tolerance=s_onSurfaceTolerance) const final |
| | Global to local transformation.
|
| Vector2 | globalToLocalCartesian (const GeometryContext &gctx, const Vector3 &position, double tol=0.) const |
| | Special method for DiscSurface : global<->local from cartesian coordinates.
|
| MultiIntersection3D | intersect (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction, const BoundaryTolerance &boundaryTolerance=BoundaryTolerance::Infinite(), double tolerance=s_onSurfaceTolerance) const final |
| | Straight line intersection schema.
|
| 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 | localCartesianToGlobal (const GeometryContext &gctx, const Vector2 &lposition) const |
| | Special method for DiscSurface : local<->global transformation when provided cartesian coordinates.
|
| Vector2 | localCartesianToPolar (const Vector2 &lcart) const |
| | Special method for Disc surface : local<->local transformations polar <-> cartesian.
|
| Vector2 | localPolarToCartesian (const Vector2 &lpolar) const |
| | Special method for DiscSurface : local<->local transformations polar <-> cartesian.
|
| Vector2 | localPolarToLocalCartesian (const Vector2 &locpol) const |
| | Special method for DiscSurface : local<->local transformations polar <-> cartesian.
|
| Vector3 | localToGlobal (const GeometryContext &gctx, const Vector2 &lposition) const final |
| | Local to global transformation For planar surfaces the momentum direction is ignored in the local to global transformation.
|
| Vector3 | localToGlobal (const GeometryContext &gctx, const Vector2 &lposition, const Vector3 &direction) const final |
| | Local to global transformation.
|
| std::pair< std::shared_ptr< DiscSurface >, bool > | mergedWith (const DiscSurface &other, AxisDirection direction, bool externalRotation, const Logger &logger=getDummyLogger()) const |
| | Merge two disc surfaces into a single one.
|
| std::string | name () const override |
| | Return properly formatted class name for screen output.
|
| Vector3 | normal (const GeometryContext &gctx) const |
| | Get the normal vector, independent of the location.
|
| Vector3 | normal (const GeometryContext &gctx, const Vector2 &lposition) const final |
| | Normal vector return.
|
| Vector3 | normal (const GeometryContext &gctx, const Vector3 &pos, const Vector3 &direction) const final |
| | Calculate the normal vector of the surface This overload is fully generic, fulfills the Surface interface and accepts a global position and a direction.
|
| Vector3 | normal (const GeometryContext &gctx, const Vector3 &position) const final |
| | Get the normal vector of this surface at a given global position.
|
| DiscSurface & | operator= (const DiscSurface &other) |
| | Assignment operator.
|
| double | pathCorrection (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction) const final |
| | Path correction due to incident of the track.
|
| Polyhedron | polyhedronRepresentation (const GeometryContext &gctx, unsigned int quarterSegments) const override |
| | Return a Polyhedron for the surfaces.
|
| Vector3 | referencePosition (const GeometryContext &gctx, AxisDirection aDir) const final |
| | A reference position for a given axis direction.
|
| double | referencePositionValue (const GeometryContext &gctx, AxisDirection aDir) const final |
| | A reference position value for a given axis direction.
|
| SurfaceType | type () const override |
| | Return the surface type.
|
| Result< Vector2 > | globalToLocal (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction, double tolerance=s_onSurfaceTolerance) const final |
| | Convert a global position to a local one this is the most generic interface, which is implemented by all surfaces.
|
| bool | isOnSurface (const GeometryContext &gctx, const Vector3 &position, const BoundaryTolerance &boundaryTolerance=BoundaryTolerance::None(), double tolerance=s_onSurfaceTolerance) const |
| | The geometric onSurface method.
|
| 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.
|
| 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 final |
| | Calculate the normal vector of the surface This overload is fully generic, fulfills the Surface interface and accepts a global position and a direction.
|
| | 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.
|
| | ~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.
|
| virtual AlignmentToPathMatrix | alignmentToPathDerivative (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction) const |
| | Calculate the derivative of path length at the geometry constraint or point-of-closest-approach 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 FreeToPathMatrix | freeToPathDerivative (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction) const |
| | Calculate the derivative of path length at the geometry constraint or point-of-closest-approach w.r.t.
|
| 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.
|
| virtual Acts::RotationMatrix3 | referenceFrame (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction) const |
| | Return method for the reference frame This is the frame in which the covariance matrix is defined (specialized by all surfaces).
|
| 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 |
| | ~Layer () noexcept override |
| | Destructor.
|
| ApproachDescriptor * | approachDescriptor () |
| | Non-const version of the approach descriptor.
|
| const ApproachDescriptor * | approachDescriptor () const |
| | Return method for the approach descriptor, can be nullptr.
|
| boost::container::small_vector< NavigationTarget, 10 > | compatibleSurfaces (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction, const NavigationOptions< Surface > &options) const |
| | Decompose Layer into (compatible) surfaces.
|
| virtual bool | isOnLayer (const GeometryContext &gctx, const Vector3 &position, const BoundaryTolerance &boundaryTolerance=BoundaryTolerance::None()) const |
| | geometrical isOnLayer() method
|
| double | layerThickness () const |
| | Return the Thickness of the Layer this is by definition along the normal vector of the surfaceRepresentation.
|
| LayerType | layerType () const |
| | return the LayerType
|
| const Layer * | nextLayer (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction) const |
| | Fast navigation to next layer.
|
| const Volume * | representingVolume () const |
| | Return the abstract volume that represents the layer.
|
| virtual bool | resolve (bool resolveSensitive, bool resolveMaterial, bool resolvePassive) const |
| | Accept layer according to the following collection directives.
|
| template<typename options_t> |
| bool | resolve (const options_t &options) const |
| | Accept layer according to the following collection directives.
|
| SurfaceArray * | surfaceArray () |
| | Non-const version.
|
| const SurfaceArray * | surfaceArray () const |
| | Return the entire SurfaceArray, returns a nullptr if no SurfaceArray.
|
| NavigationTarget | surfaceOnApproach (const GeometryContext &gctx, const Vector3 &position, const Vector3 &direction, const NavigationOptions< Layer > &options) const |
| | Surface seen on approach for layers without sub structure, this is the surfaceRepresentation for layers with sub structure, this is the approachSurface.
|
| const TrackingVolume * | trackingVolume () const |
| | Get the confining TrackingVolume.
|
|
| | DiscLayer (const DiscLayer &cla, const Transform3 &tr) |
| | Copy constructor with shift.
|
| | DiscLayer (const Transform3 &transform, const std::shared_ptr< const DiscBounds > &dbounds, std::unique_ptr< SurfaceArray > surfaceArray=nullptr, double thickness=0., std::unique_ptr< ApproachDescriptor > ades=nullptr, LayerType laytyp=active) |
| | DiscSurface (const DiscSurface &other) |
| | Copy Constructor.
|
| | DiscSurface (const GeometryContext &gctx, const DiscSurface &other, const Transform3 &shift) |
| | Copy constructor - with shift.
|
| | DiscSurface (const Transform3 &transform, double minhalfx, double maxhalfx, double minR, double maxR, double avephi=0., double stereo=0.) |
| | Constructor for Discs from Transform3, \( r_{min}, r_{max}, hx_{min},
hx_{max} \) This is n this case you have DiscTrapezoidBounds.
|
| | DiscSurface (const Transform3 &transform, double rmin, double rmax, double hphisec=std::numbers::pi) |
| | Constructor for Discs from Transform3, \( r_{min}, r_{max} \).
|
| | DiscSurface (const Transform3 &transform, std::shared_ptr< const DiscBounds > dbounds=nullptr) |
| | Constructor for Discs from Transform3 and shared DiscBounds.
|
| | DiscSurface (std::shared_ptr< const DiscBounds > dbounds, 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.
|
| virtual std::ostream & | toStreamImpl (const GeometryContext &gctx, std::ostream &sl) const |
| | Output Method for std::ostream, to be overloaded by child classes.
|
| | Layer (std::unique_ptr< SurfaceArray > surfaceArray, double thickness=0., std::unique_ptr< ApproachDescriptor > ades=nullptr, LayerType laytyp=passive) |
| | Constructor with pointer to SurfaceArray (passing ownership).
|
| void | encloseTrackingVolume (const TrackingVolume &tvol) |
| | private method to set enclosing TrackingVolume, called by friend class only optionally, the layer can be resized to the dimensions of the TrackingVolume
|