|
ACTS
Experiment-independent tracking
|
Class which implements a cutout cylinder. More...
#include <Acts/Geometry/CutoutCylinderVolumeBounds.hpp>
Public Types | |
| enum | BoundValues : int { eMinR = 0 , eMedR = 1 , eMaxR = 2 , eHalfLengthZ = 3 , eHalfLengthZcutout = 4 , eSize } |
| for streaming and access More... | |
| Public Types inherited from Acts::VolumeBounds | |
| enum class | BoundsType { eCone , eCuboid , eCutoutCylinder , eCylinder , eGenericCuboid , eTrapezoid , eDiamond , eOther } |
| This is nested to the VolumeBounds, as also SurfaceBounds will have Bounds Type. More... | |
Public Member Functions | |
| CutoutCylinderVolumeBounds (const std::array< double, eSize > &values) noexcept(false) | |
| Constructor - from a fixed size array. | |
| CutoutCylinderVolumeBounds (double rmin, double rmed, double rmax, double hlZ, double hlZc) noexcept(false) | |
| Constructor from defining parameters. | |
| Volume::BoundingBox | boundingBox (const Transform3 *trf=nullptr, const Vector3 &envelope={0, 0, 0}, const Volume *entity=nullptr) const final |
| Construct bounding box for this shape. | |
| std::vector< AxisDirection > | canonicalAxes () const override |
| Get the canonical binning direction, i.e. | |
| double | get (BoundValues bValue) const |
| Access to the bound values. | |
| bool | inside (const Vector3 &gpos, double tol=0) const override |
| Inside method to test whether a point is inside the shape. | |
| std::vector< OrientedSurface > | orientedSurfaces (const Transform3 &transform=Transform3::Identity()) const override |
| Oriented surfaces, i.e. | |
| std::ostream & | toStream (std::ostream &sl) const override |
| Write information about this instance to an outstream. | |
| VolumeBounds::BoundsType | type () const final |
| Return the bounds type - for persistency optimization. | |
| std::vector< double > | values () const final |
| Return the bound values as dynamically sized vector. | |
| Public Member Functions inherited from Acts::VolumeBounds | |
| VolumeBounds ()=default | |
| virtual | ~VolumeBounds ()=default |
| virtual double | referenceBorder (AxisDirection aDir) const |
| Binning borders in double. | |
| virtual Vector3 | referenceOffset (AxisDirection aDir) const |
| Binning offset - overloaded for some R-binning types. | |
Additional Inherited Members | |
| Static Public Attributes inherited from Acts::VolumeBounds | |
| static const std::vector< std::string > | s_boundsTypeNames |
| Static member to get the name of the BoundsType. | |
Class which implements a cutout cylinder.
This shape is basically a cylinder, with another, smaller cylinder subtracted from the center. ------------------— rmax | | | |------—| | rmed | | | | ---— ---— rmin – hlZc – ------— hlZ ----—
| Acts::CutoutCylinderVolumeBounds::CutoutCylinderVolumeBounds | ( | double | rmin, |
| double | rmed, | ||
| double | rmax, | ||
| double | hlZ, | ||
| double | hlZc ) |
Constructor from defining parameters.
| rmin | Minimum radius at the "choke points" |
| rmed | The medium radius (outer radius of the cutout) |
| rmax | The outer radius of the overall shape |
| hlZ | The longer halflength of the shape |
| hlZc | The cutout halflength of the shape |
|
explicit |
Constructor - from a fixed size array.
| values | The bound values |
|
finalvirtual |
Construct bounding box for this shape.
| trf | Optional transform |
| envelope | Optional envelope to add / subtract from min/max |
| entity | Entity to associate this bounding box with |
Implements Acts::VolumeBounds.
|
overridevirtual |
Get the canonical binning direction, i.e.
the axis values that fully describe the shape's extent
Reimplemented from Acts::VolumeBounds.
| double Acts::CutoutCylinderVolumeBounds::get | ( | BoundValues | bValue | ) | const |
Access to the bound values.
| bValue | the class nested enum for the array access |
|
overridevirtual |
Inside method to test whether a point is inside the shape.
| gpos | The point to test |
| tol | The tolerance to test with |
Implements Acts::VolumeBounds.
|
overridevirtual |
Oriented surfaces, i.e.
the decomposed boundary surfaces and the according navigation direction into the volume given the normal vector on the surface
| transform | is the 3D transform to be applied to the boundary surfaces to position them in 3D space |
It will throw an exception if the orientation prescription is not adequate
Implements Acts::VolumeBounds.
|
overridevirtual |
Write information about this instance to an outstream.
| sl | The outstream |
Implements Acts::VolumeBounds.
|
finalvirtual |
Return the bounds type - for persistency optimization.
Implements Acts::VolumeBounds.
|
finalvirtual |
Return the bound values as dynamically sized vector.
Implements Acts::VolumeBounds.