|
ACTS
Experiment-independent tracking
|
It inherits from GeometryObject for geometry identification. More...
#include <Acts/Geometry/Volume.hpp>
Public Types | |
| using | BoundingBox = AxisAlignedBoundingBox<Volume, double, 3> |
| Type alias for the axis-aligned bounding box of the volume. | |
Public Member Functions | |
| Volume (const Transform3 &transform, std::shared_ptr< VolumeBounds > volbounds) | |
| Explicit constructor with shared arguments. | |
| Volume (const Volume &vol, const Transform3 &shift=Transform3::Identity()) | |
| Copy Constructor - with optional shift. | |
| ~Volume () noexcept override=default | |
| void | assignVolumeBounds (std::shared_ptr< VolumeBounds > volbounds) |
| Set volume bounds and update volume bounding boxes implicitly. | |
| BoundingBox | boundingBox (const Vector3 &envelope={0, 0, 0}) const |
| Construct bounding box for this shape. | |
| const Vector3 & | center () const |
| Get the center position of the volume. | |
| const Vector3 & | center (const GeometryContext &gctx) const |
| Get the center position of the volume. | |
| const Transform3 & | globalToLocalTransform (const GeometryContext &gctx) const |
| Get the transformation matrix from the global experiment's. | |
| bool | inside (const GeometryContext &gctx, const Vector3 &gpos, double tol=0.) const |
| Inside() method for checks. | |
| bool | inside (const Vector3 &gpos, double tol=0.) const |
| Inside() method for checks. | |
| const Transform3 & | itransform () const |
| Get the inverse transform matrix of the volume. | |
| const Transform3 & | localToGlobalTransform (const GeometryContext &gctx) const |
| Get the transformation matrix from the local volume frame to the global experiment's frame. | |
| Volume & | operator= (const Volume &vol) |
| Assignment operator. | |
| bool | operator== (const Volume &other) const |
| Compare this volume with another for equality. | |
| BoundingBox | orientedBoundingBox () const |
| Construct oriented bounding box for this shape. | |
| Vector3 | referencePosition (const GeometryContext &gctx, AxisDirection aDir) const override |
| The binning position method. | |
| void | setTransform (const Transform3 &transform) |
| Set the transform matrix for the volume and update internal state. | |
| const Transform3 & | transform () const |
| Get the transform matrix that positions the volume in 3D space. | |
| virtual void | update (const GeometryContext &gctx, std::shared_ptr< VolumeBounds > volbounds, std::optional< Transform3 > transform=std::nullopt, const Logger &logger=Acts::getDummyLogger()) |
| Set the volume bounds and optionally also update the volume transform. | |
| void | visualize (IVisualization3D &helper, const GeometryContext &gctx, const ViewConfig &viewConfig) const |
| Produces a 3D visualization of this volume. | |
| VolumeBounds & | volumeBounds () |
| Get mutable access to the volume bounds. | |
| const VolumeBounds & | volumeBounds () const |
| Get the volume bounds that define the shape of the volume. | |
| std::shared_ptr< VolumeBounds > | volumeBoundsPtr () |
| Get shared pointer to the mutable volume bounds. | |
| std::shared_ptr< const VolumeBounds > | volumeBoundsPtr () const |
| Get shared pointer to the const volume bounds. | |
| Public Member Functions inherited from Acts::GeometryObject | |
| GeometryObject ()=default | |
| Defaulted constructor. | |
| GeometryObject (const GeometryIdentifier &geometryId) | |
| Constructor from a value. | |
| GeometryObject (const GeometryObject &)=default | |
| Defaulted copy constructor. | |
| virtual | ~GeometryObject () noexcept=default |
| void | assignGeometryId (const GeometryIdentifier &geometryId) |
| Set the value. | |
| GeometryIdentifier | geometryId () const |
| virtual double | referencePositionValue (const GeometryContext &gctx, AxisDirection aDir) const |
| Implement the binningValue. | |
Protected Attributes | |
| Vector3 | m_center |
| Center position of the volume in global coordinates. | |
| Transform3 | m_itransform |
| Inverse of the transform matrix for efficient calculations. | |
| Transform3 | m_transform |
| Transform matrix that positions the volume in 3D space. | |
| Protected Attributes inherited from Acts::GeometryObject | |
| GeometryIdentifier | m_geometryId |
| Unique geometry identifier for this object. | |
It inherits from GeometryObject for geometry identification.
Base class for all volumes inside the tracking realm, it defines the interface for inherited Volume classes regarding the geometrical information.
| using Acts::Volume::BoundingBox = AxisAlignedBoundingBox<Volume, double, 3> |
Type alias for the axis-aligned bounding box of the volume.
Used to define the spatial extent of the volume in 3D space
| Acts::Volume::Volume | ( | const Transform3 & | transform, |
| std::shared_ptr< VolumeBounds > | volbounds ) |
Explicit constructor with shared arguments.
| transform | is the transform to position the volume in 3D space |
| volbounds | is the volume boundary definitions |
| Acts::Volume::Volume | ( | const Volume & | vol, |
| const Transform3 & | shift = Transform3::Identity() ) |
Copy Constructor - with optional shift.
| vol | is the source volume for the copy |
| shift | is the optional shift applied as : shift * vol.transform() |
|
overridedefaultnoexcept |
| void Acts::Volume::assignVolumeBounds | ( | std::shared_ptr< VolumeBounds > | volbounds | ) |
Set volume bounds and update volume bounding boxes implicitly.
| volbounds | The volume bounds to be assigned |
| BoundingBox Acts::Volume::boundingBox | ( | const Vector3 & | envelope = {0, 0, 0} | ) | const |
Construct bounding box for this shape.
| envelope | Optional envelope to add / subtract from min/max |
| const Vector3 & Acts::Volume::center | ( | ) | const |
Get the center position of the volume.
| const Vector3 & Acts::Volume::center | ( | const GeometryContext & | gctx | ) | const |
Get the center position of the volume.
| gctx | The current geometry context object, e.g. alignment |
| const Transform3 & Acts::Volume::globalToLocalTransform | ( | const GeometryContext & | gctx | ) | const |
Get the transformation matrix from the global experiment's.
| gctx | The current geometry context object, e.g. alignment |
| bool Acts::Volume::inside | ( | const GeometryContext & | gctx, |
| const Vector3 & | gpos, | ||
| double | tol = 0. ) const |
Inside() method for checks.
| gctx | The current geometry context object, e.g. alignment |
| gpos | is the position to be checked |
| tol | is the tolerance parameter |
| bool Acts::Volume::inside | ( | const Vector3 & | gpos, |
| double | tol = 0. ) const |
Inside() method for checks.
| gpos | is the position to be checked |
| tol | is the tolerance parameter |
| const Transform3 & Acts::Volume::itransform | ( | ) | const |
Get the inverse transform matrix of the volume.
| const Transform3 & Acts::Volume::localToGlobalTransform | ( | const GeometryContext & | gctx | ) | const |
Get the transformation matrix from the local volume frame to the global experiment's frame.
| gctx | The current geometry context object, e.g. alignment |
Assignment operator.
| vol | is the source volume to be copied |
| bool Acts::Volume::operator== | ( | const Volume & | other | ) | const |
Compare this volume with another for equality.
| other | The other volume to compare with |
| BoundingBox Acts::Volume::orientedBoundingBox | ( | ) | const |
Construct oriented bounding box for this shape.
|
overridevirtual |
The binning position method.
| gctx | The current geometry context object, e.g. alignment |
| aDir | is the axis direction for the reference position |
Implements Acts::GeometryObject.
| void Acts::Volume::setTransform | ( | const Transform3 & | transform | ) |
Set the transform matrix for the volume and update internal state.
| transform | The new transform matrix to be applied |
| const Transform3 & Acts::Volume::transform | ( | ) | const |
Get the transform matrix that positions the volume in 3D space.
|
virtual |
Set the volume bounds and optionally also update the volume transform.
| gctx | The current geometry context object, e.g. alignment |
| volbounds | The volume bounds to be assigned |
| transform | The transform to be assigned, can be optional |
| logger | A logger object to log messages |
Reimplemented in Acts::CuboidVolumeStack, and Acts::CylinderVolumeStack.
| void Acts::Volume::visualize | ( | IVisualization3D & | helper, |
| const GeometryContext & | gctx, | ||
| const ViewConfig & | viewConfig ) const |
Produces a 3D visualization of this volume.
| helper | The visualization helper describing the output format |
| gctx | The geometry context |
| viewConfig | The view configuration |
| VolumeBounds & Acts::Volume::volumeBounds | ( | ) |
Get mutable access to the volume bounds.
| const VolumeBounds & Acts::Volume::volumeBounds | ( | ) | const |
Get the volume bounds that define the shape of the volume.
| std::shared_ptr< VolumeBounds > Acts::Volume::volumeBoundsPtr | ( | ) |
Get shared pointer to the mutable volume bounds.
| std::shared_ptr< const VolumeBounds > Acts::Volume::volumeBoundsPtr | ( | ) | const |
Get shared pointer to the const volume bounds.
|
protected |
Center position of the volume in global coordinates.
|
protected |
Inverse of the transform matrix for efficient calculations.
|
protected |
Transform matrix that positions the volume in 3D space.