19#ifndef BDSEXTENTGLOBAL_H
20#define BDSEXTENTGLOBAL_H
22#include "BDSExtent.hh"
29#include "G4ThreeVector.hh"
30#include "G4Transform3D.hh"
52 const G4Transform3D& transformIn = G4Transform3D::Identity);
111 G4bool
Encompasses(
const std::vector<BDSExtentGlobal>& otherExtents);
132 G4Transform3D transform;
Holder for +- extents in 3 dimensions with a rotation and translation.
G4double YNegGlobal() const
Accessor.
std::pair< G4double, G4double > ExtentZGlobal() const
Accessor.
G4bool EncompassesGlobal(G4double x, G4double y, G4double z) const
Return whether the extent encompasses the point. Similar, but with separate x,y,z coordinates.
G4bool TransverselyLessEqualsGlobal(const BDSExtentGlobal &r) const
Comparison operator for x,y only. Ignores z (length).
std::pair< G4double, G4double > ExtentXGlobal() const
Accessor.
G4double DZGlobal() const
The difference in a dimension.
BDSExtentGlobal ExpandToEncompass(const BDSExtentGlobal &other) const
Return a copy of this extent but expanded to encompass another global extent.
G4double ZPosGlobal() const
Accessor.
BDSExtentGlobal TranslateGlobal(G4ThreeVector offset) const
Provide a new copy of this extent with an offset applied.
std::pair< G4double, G4double > ExtentYGlobal() const
Accessor.
G4ThreeVector GetMaximumExtentAbsolute() const
Get the maximum extent absolute in each dimension.
G4double YPosGlobal() const
Accessor.
BDSExtentGlobal()
Default constructor gives 0 in all extents - typically unphysical.
G4double XPosGlobal() const
Accessor.
virtual ~BDSExtentGlobal()
friend std::ostream & operator<<(std::ostream &out, BDSExtentGlobal const &ext)
Output stream.
std::vector< G4ThreeVector > AllBoundaryPointsGlobal() const
All 8 boundary points of the bounding box.
G4bool TransverselyGreaterThanGlobal(const BDSExtentGlobal &r) const
Comparison operator for x,y only. Ignores z (length).
G4double DXGlobal() const
The difference in a dimension.
G4bool TransverselyGreaterEqualsGlobal(const BDSExtentGlobal &r) const
Comparison operator for x,y only. Ignores z (length).
G4double XNegGlobal() const
Accessor.
G4double ZNegGlobal() const
Accessor.
G4double DYGlobal() const
The difference in a dimension.
G4bool TransverselyLessThanGlobal(const BDSExtentGlobal &r) const
Comparison operator for x,y only. Ignores z (length).
G4bool Encompasses(const BDSExtentGlobal &otherExtent)
Return whether the extent encompasses another extent.
G4ThreeVector ExtentPositiveGlobal() const
Accessor.
G4ThreeVector ExtentNegativeGlobal() const
Accessor.
G4double MaximumAbsGlobal() const
Return the maximum absolute value considering all dimensions.
Holder for +- extents in 3 dimensions.
A holder for any placement offsets and rotations for a BDSAcceleratorComponent.