Class ConeVolumeBounds¶
Defined in File ConeVolumeBounds.hpp
Inheritance Relationships¶
Base Type¶
public Acts::VolumeBounds
(Class VolumeBounds)
Class Documentation¶
-
class
Acts
::
ConeVolumeBounds
: public Acts::VolumeBounds¶ Volume bound class for describing conical volumes either with cylindrical inlay or outer boundary, it also allows for a sectoral description.
Public Types
Public Functions
-
ConeVolumeBounds
() = delete¶
-
ConeVolumeBounds
(double innerAlpha, double innerTipZ, double outerAlpha, double outerOffsetZ, double halflengthZ, double averagePhi, double halfPhiSector) noexcept(false)¶ Constructor - for general cone-cone setups.
- Parameters
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 centerouterAlpha
: The opening angle of the outer cone (0 if no cone)outerOffsetZ
: The tip z position in of the outer cone, w.r.t centerhalflengthZ
: The minimum z value of the inner and outer conesavergePhi
: The phi orientation of the sectorhalfPhiSector
: The opening angle phi sector
-
ConeVolumeBounds
(double cylinderR, double alpha, double offsetZ, double halflengthZ, double averagePhi, double halfPhiSector) noexcept(false)¶ Constructor - for general cylidner-cone setups.
- Note
depending on cylinderR > coneR it is constructing a cone with cylindrical cutout or a cylinder with conical cutout
- Parameters
cylinderR
: The inner radius of the cylinderalpha
: The opening angle of the cone (0 if no cone)offsetZ
: The tip z position in of the cone, w.r.t centerhalflengthZ
: The minimum z value of the inner and outer conesavergePhi
: The phi orientation of the sector (defaulted to 0)halfPhiSector
: The opening angle phi sector
-
ConeVolumeBounds
(const std::array<double, eSize> &values) noexcept(false)¶ Constructor - from a fixed size array.
- Parameters
values
: The bound values
-
ConeVolumeBounds
(const ConeVolumeBounds &cobo) = default¶
-
~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.
- Return
Constructed bounding box
- Parameters
trf
: Optional transformenvelope
: Optional envelope to add / subtract from min/maxentity
: Entity to associate this bounding box with
-
double
get
(BoundValues bValue) const¶ Access to the bound values.
- Parameters
bValue
: the class nested enum for the array access
-
double
innerRmax
() const¶
-
double
innerRmin
() const¶
-
double
innerTanAlpha
() const¶
-
bool
inside
(const Vector3 &pos, double tol = 0.) const final¶ This method checks if position in the 3D volume frame is inside the cylinder.
- Parameters
pos
: is the position in volume frame to be checkedtol
: is the absolute tolerance to be applied
-
ConeVolumeBounds &
operator=
(const ConeVolumeBounds &cobo) = default¶
-
OrientedSurfaces
orientedSurfaces
(const Transform3 &transform = Transform3::Identity()) const final¶ Oriented surfaces, i.e.
the decomposed boundary surfaces and the according navigation direction into the volume given the normal vector on the surface
It will throw an exception if the orientation prescription is not adequate
- Parameters
transform
: is the 3D transform to be applied to the boundary surfaces to position them in 3D space
- Return
a vector of surfaces bounding this volume
-
double
outerRmax
() const¶
-
double
outerRmin
() const¶
-
double
outerTanAlpha
() const¶
-
std::ostream &
toStream
(std::ostream &sl) const final¶ Output Method for std::ostream.
- Parameters
sl
: is ostream operator to be dumped into
-
VolumeBounds::BoundsType
type
() const final¶ Return the bounds type - for persistency optimization.
- Return
is a BoundsType enum
-
std::vector<double>
values
() const final¶ Return the bound values as dynamically sized vector.
- Return
this returns a copy of the internal values
-