![]() |
Analysis Software
Documentation for sPHENIX simulation software
|
#include <acts/blob/sPHENIX/Core/include/Acts/Geometry/VolumeBounds.hpp>
Inheritance diagram for Acts::VolumeBounds:Public Types | |
| enum | BoundsType : int { eCone = 0, eCuboid = 1, eCutoutCylinder = 2, eCylinder = 3, eGenericCuboid = 4, eTrapezoid = 5, eOther = 6 } |
Public Member Functions | |
| VolumeBounds ()=default | |
| virtual | ~VolumeBounds ()=default |
| virtual BoundsType | type () const =0 |
| virtual std::vector< double > | values () const =0 |
| virtual bool | inside (const Vector3 &gpos, double tol=0.) const =0 |
| virtual OrientedSurfaces | orientedSurfaces (const Transform3 &transform=Transform3::Identity()) const =0 |
| virtual Volume::BoundingBox | boundingBox (const Transform3 *trf=nullptr, const Vector3 &envelope={0, 0, 0}, const Volume *entity=nullptr) const =0 |
| virtual Vector3 | binningOffset (BinningValue bValue) const |
| Binning offset - overloaded for some R-binning types. | |
| virtual double | binningBorder (BinningValue bValue) const |
| virtual std::ostream & | toStream (std::ostream &sl) const =0 |
Pure Absract Base Class for Volume bounds.
Acts::VolumeBounds are a set of up to six confining Surfaces that are stored in a std::vector. Each type of Acts::VolumeBounds has to implement a orientedSurfaces() and a inside() method.
The Volume, retrieving a set of Surfaces from the VolumeBounds, can turn the Surfaces into BoundarySurfaces.
Definition at line 54 of file VolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 54 of file VolumeBounds.hpp
| enum Acts::VolumeBounds::BoundsType : int |
This is nested to the VolumeBounds, as also SurfaceBounds will have Bounds Type.
Definition at line 59 of file VolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 59 of file VolumeBounds.hpp
|
default |
|
virtualdefault |
|
inlinevirtual |
Binning borders in double
| bValue | is the binning schema used |
Reimplemented in Acts::CylinderVolumeBounds, and Acts::CuboidVolumeBounds.
Definition at line 140 of file VolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 140 of file VolumeBounds.hpp
Referenced by Acts::CylinderVolumeBounds::binningBorder().
Here is the caller graph for this function:
|
inlinevirtual |
Binning offset - overloaded for some R-binning types.
Binning offset - overloaded for some R-binning types
| bValue | is the binning schema used |
Reimplemented in Acts::CylinderVolumeBounds.
Definition at line 135 of file VolumeBounds.hpp.
View newest version in sPHENIX GitHub at line 135 of file VolumeBounds.hpp
Referenced by Acts::CylinderVolumeBounds::binningOffset().
Here is the caller graph for this function:
|
pure virtual |
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 |
Implemented in Acts::CylinderVolumeBounds, Acts::TrapezoidVolumeBounds, Acts::ConeVolumeBounds, Acts::CuboidVolumeBounds, Acts::CutoutCylinderVolumeBounds, and Acts::GenericCuboidVolumeBounds.
|
pure virtual |
Checking if position given in volume frame is inside
| gpos | is the global position to be checked |
| tol | is the tolerance applied for the inside check |
Implemented in Acts::CylinderVolumeBounds, Acts::TrapezoidVolumeBounds, Acts::ConeVolumeBounds, Acts::CuboidVolumeBounds, Acts::CutoutCylinderVolumeBounds, and Acts::GenericCuboidVolumeBounds.
|
pure virtual |
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
Implemented in Acts::CylinderVolumeBounds, Acts::TrapezoidVolumeBounds, Acts::ConeVolumeBounds, Acts::CuboidVolumeBounds, Acts::CutoutCylinderVolumeBounds, and Acts::GenericCuboidVolumeBounds.
Referenced by Acts::AbstractVolume::createBoundarySurfaces(), Acts::TrackingVolume::createBoundarySurfaces(), and Acts::DetectorVolumeJsonConverter::toJsonDetray().
Here is the caller graph for this function:
|
pure virtual |
Output Method for std::ostream, to be overloaded by child classes
| sl | is the output stream to be dumped into |
Implemented in Acts::CylinderVolumeBounds, Acts::ConeVolumeBounds, Acts::CuboidVolumeBounds, Acts::TrapezoidVolumeBounds, Acts::CutoutCylinderVolumeBounds, and Acts::GenericCuboidVolumeBounds.
Referenced by Acts::operator<<().
Here is the caller graph for this function:
|
pure virtual |
Return the bounds type - for persistency optimization
Implemented in Acts::CylinderVolumeBounds, Acts::TrapezoidVolumeBounds, Acts::ConeVolumeBounds, Acts::CuboidVolumeBounds, Acts::CutoutCylinderVolumeBounds, and Acts::GenericCuboidVolumeBounds.
Referenced by Acts::Svg::DetectorVolumeConverter::convert(), Acts::operator==(), Acts::to_json(), and Acts::DetectorVolumeJsonConverter::toJsonDetray().
Here is the caller graph for this function:
|
pure virtual |
Access method for bound values, this is a dynamically sized vector containing the parameters needed to describe these bounds
Implemented in Acts::CylinderVolumeBounds, Acts::TrapezoidVolumeBounds, Acts::ConeVolumeBounds, Acts::CuboidVolumeBounds, Acts::CutoutCylinderVolumeBounds, and Acts::GenericCuboidVolumeBounds.
Referenced by Acts::Svg::DetectorVolumeConverter::convert(), Acts::operator==(), and Acts::to_json().
Here is the caller graph for this function: