|
ACTS
Experiment-independent tracking
|
Volume bound class for describing conical volumes either with cylindrical inlay or outer boundary, it also allows for a sectoral description. More...
#include <Acts/Geometry/ConeVolumeBounds.hpp>
Public Types | |
| enum | BoundValues : unsigned int { eInnerAlpha = 0 , eInnerOffsetZ = 1 , eOuterAlpha = 2 , eOuterOffsetZ = 3 , eHalfLengthZ = 4 , eAveragePhi = 5 , eHalfPhiSector = 6 , eSize } |
| for readability 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 | |
| ConeVolumeBounds ()=delete | |
| ConeVolumeBounds (const ConeVolumeBounds &cobo)=default | |
| Copy constructor. | |
| ConeVolumeBounds (const std::array< double, eSize > &values) noexcept(false) | |
| Constructor - from a fixed size array. | |
| ConeVolumeBounds (double cylinderR, double alpha, double offsetZ, double halflengthZ, double averagePhi, double halfPhiSector) noexcept(false) | |
| Constructor - for general cylidner-cone setups. | |
| ConeVolumeBounds (double innerAlpha, double innerOffsetZ, double outerAlpha, double outerOffsetZ, double halflengthZ, double averagePhi, double halfPhiSector) noexcept(false) | |
| Constructor - for general cone-cone setups. | |
| ~ConeVolumeBounds () override=default | |
| 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. | |
| double | get (BoundValues bValue) const |
| Access to the bound values. | |
| double | innerRmax () const |
| Return the derived inner maximum radius. | |
| double | innerRmin () const |
| Return the derived inner minimum radius. | |
| double | innerTanAlpha () const |
| Return the derived inner tangent of the cone opening angle. | |
| bool | inside (const Vector3 &pos, double tol=0.) const final |
| This method checks if position in the 3D volume frame is inside the cylinder. | |
| ConeVolumeBounds & | operator= (const ConeVolumeBounds &cobo)=default |
| Assignment operator. | |
| std::vector< OrientedSurface > | orientedSurfaces (const Transform3 &transform=Transform3::Identity()) const final |
| Oriented surfaces, i.e. | |
| double | outerRmax () const |
| Return the derived outer maximum radius. | |
| double | outerRmin () const |
| Return the derived outer minimum radius. | |
| double | outerTanAlpha () const |
| Return the derived outer tangent of the cone opening angle. | |
| std::ostream & | toStream (std::ostream &os) const final |
| 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 | |
| VolumeBounds ()=default | |
| virtual | ~VolumeBounds ()=default |
| virtual std::vector< AxisDirection > | canonicalAxes () const |
| Get the canonical axis direction that fully describe the shape's extent. | |
| 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. | |
Volume bound class for describing conical volumes either with cylindrical inlay or outer boundary, it also allows for a sectoral description.
| enum Acts::ConeVolumeBounds::BoundValues : unsigned int |
|
delete |
| Acts::ConeVolumeBounds::ConeVolumeBounds | ( | double | innerAlpha, |
| double | innerOffsetZ, | ||
| double | outerAlpha, | ||
| double | outerOffsetZ, | ||
| double | halflengthZ, | ||
| double | averagePhi, | ||
| double | halfPhiSector ) |
Constructor - for general cone-cone setups.
| innerAlpha | The opening angle of the inner cone (0 if no cone) |
| innerOffsetZ | The tip z position in of the inner cone, w.r.t center |
| outerAlpha | The opening angle of the outer cone (0 if no cone) |
| outerOffsetZ | The tip z position in of the outer cone, w.r.t center |
| halflengthZ | The minimum z value of the inner and outer cones |
| averagePhi | The phi orientation of the sector |
| halfPhiSector | The opening angle phi sector |
| Acts::ConeVolumeBounds::ConeVolumeBounds | ( | double | cylinderR, |
| double | alpha, | ||
| double | offsetZ, | ||
| double | halflengthZ, | ||
| double | averagePhi, | ||
| double | halfPhiSector ) |
Constructor - for general cylidner-cone setups.
| cylinderR | The inner radius of the cylinder |
| alpha | The opening angle of the cone (0 if no cone) |
| offsetZ | The tip z position in of the cone, w.r.t center |
| halflengthZ | The minimum z value of the inner and outer cones |
| averagePhi | The phi orientation of the sector (defaulted to 0) |
| halfPhiSector | The opening angle phi sector |
|
explicitnoexcept |
Constructor - from a fixed size array.
| values | The bound values |
|
default |
Copy constructor.
| cobo | Cone volume bounds to copy |
|
overridedefault |
|
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.
| double Acts::ConeVolumeBounds::get | ( | BoundValues | bValue | ) | const |
Access to the bound values.
| bValue | the class nested enum for the array access |
| double Acts::ConeVolumeBounds::innerRmax | ( | ) | const |
Return the derived inner maximum radius.
| double Acts::ConeVolumeBounds::innerRmin | ( | ) | const |
Return the derived inner minimum radius.
| double Acts::ConeVolumeBounds::innerTanAlpha | ( | ) | const |
Return the derived inner tangent of the cone opening angle.
|
finalvirtual |
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.
| cobo | Cone volume bounds to assign |
|
finalvirtual |
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.
| double Acts::ConeVolumeBounds::outerRmax | ( | ) | const |
Return the derived outer maximum radius.
| double Acts::ConeVolumeBounds::outerRmin | ( | ) | const |
Return the derived outer minimum radius.
| double Acts::ConeVolumeBounds::outerTanAlpha | ( | ) | const |
Return the derived outer tangent of the cone opening angle.
|
finalvirtual |
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.