|
ACTS
Experiment-independent tracking
|
Bounds for a cubical Volume, the orientedSurfaces(...) method creates a vector of 6 surfaces: More...
#include <Acts/Geometry/CuboidVolumeBounds.hpp>
Public Types | |
| enum | BoundValues : unsigned int { eHalfLengthX = 0 , eHalfLengthY = 1 , eHalfLengthZ = 2 , eSize } |
| for streaming and access | |
| enum class | Face : unsigned int { NegativeZFace = BoundarySurfaceFace::negativeFaceXY , PositiveZFace = BoundarySurfaceFace::positiveFaceXY , NegativeXFace = BoundarySurfaceFace::negativeFaceYZ , PositiveXFace = BoundarySurfaceFace::positiveFaceYZ , NegativeYFace = BoundarySurfaceFace::negativeFaceZX , PositiveYFace = BoundarySurfaceFace::positiveFaceZX } |
| Enum describing the possible faces of a cuboid volume. 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. | |
Public Member Functions | |
| CuboidVolumeBounds (const CuboidVolumeBounds &bobo)=default | |
| Copy Constructor. | |
| CuboidVolumeBounds (const std::array< double, eSize > &values) | |
| Constructor - from a fixed size array. | |
| CuboidVolumeBounds (double halex, double haley, double halez) noexcept(false) | |
| Constructor - the box boundaries. | |
| CuboidVolumeBounds (std::initializer_list< std::pair< BoundValues, double > > keyValues) | |
| Constructor with initializer list of key-value pairs. | |
| 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 &pos, double tol=0.) const override |
| This method checks if position in the 3D volume frame is inside the cylinder. | |
| CuboidVolumeBounds & | operator= (const CuboidVolumeBounds &bobo)=default |
| Assignment operator. | |
| std::vector< OrientedSurface > | orientedSurfaces (const Transform3 &transform=Transform3::Identity()) const override |
| Oriented surfaces, i.e. | |
| double | referenceBorder (AxisDirection aDir) const final |
| Binning borders in double. | |
| void | set (BoundValues bValue, double value) |
| Set a bound value. | |
| void | set (std::initializer_list< std::pair< BoundValues, double > > keyValues) |
| Set a range of bound values. | |
| std::ostream & | toStream (std::ostream &os) const override |
| Output Method for std::ostream. | |
| 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 | |
| virtual Vector3 | referenceOffset (AxisDirection aDir) const |
| Binning offset - overloaded for some R-binning types. | |
Static Public Member Functions | |
| static BoundValues | boundsFromAxisDirection (AxisDirection direction) |
| Convert axis direction to a corresponding bound value in local coordinate convention. | |
| static std::tuple< Face, Face, std::array< Face, 4 > > | facesFromAxisDirection (AxisDirection direction) |
| Convert axis direction to a set of corresponding cuboid faces in local coordinate convention. | |
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. | |
Bounds for a cubical Volume, the orientedSurfaces(...) method creates a vector of 6 surfaces:
BoundarySurfaceFace [index]:
|
strong |
Enum describing the possible faces of a cuboid volume.
| Acts::CuboidVolumeBounds::CuboidVolumeBounds | ( | double | halex, |
| double | haley, | ||
| double | halez ) |
Constructor - the box boundaries.
| halex | is the half length of the cube in x |
| haley | is the half length of the cube in y |
| halez | is the half length of the cube in z |
|
explicit |
Constructor - from a fixed size array.
| values | iw the bound values |
| Acts::CuboidVolumeBounds::CuboidVolumeBounds | ( | std::initializer_list< std::pair< BoundValues, double > > | keyValues | ) |
Constructor with initializer list of key-value pairs.
| keyValues | List of bound value identifiers and their corresponding values |
|
default |
Copy Constructor.
| bobo | is the source volume bounds to be copied |
|
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.
|
static |
Convert axis direction to a corresponding bound value in local coordinate convention.
| direction | the axis direction to convert |
|
overridevirtual |
Get the canonical binning direction, i.e.
the binning directions for that fully describe the shape's extent
Reimplemented from Acts::VolumeBounds.
|
static |
Convert axis direction to a set of corresponding cuboid faces in local coordinate convention.
| direction | the axis direction to convert |
| double Acts::CuboidVolumeBounds::get | ( | BoundValues | bValue | ) | const |
Access to the bound values.
| bValue | the class nested enum for the array access |
|
overridevirtual |
This method checks if position in the 3D volume frame is inside the cylinder.
| pos | is the position in volume frame to be checked |
| tol | is the absolute tolerance to be applied |
Implements Acts::VolumeBounds.
|
default |
Assignment operator.
| bobo | is the source volume bounds to be assigned |
|
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.
|
finalvirtual |
Binning borders in double.
| aDir | is the axis direction for which the reference border is requested |
Reimplemented from Acts::VolumeBounds.
| void Acts::CuboidVolumeBounds::set | ( | BoundValues | bValue, |
| double | value ) |
Set a bound value.
| bValue | the bound value identifier |
| value | the value to be set |
| void Acts::CuboidVolumeBounds::set | ( | std::initializer_list< std::pair< BoundValues, double > > | keyValues | ) |
Set a range of bound values.
| keyValues | the initializer list of key value pairs |
|
overridevirtual |
Output Method for std::ostream.
| os | is ostream operator to be dumped into |
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.