34#if ( defined(G4GEOM_USE_USOLIDS) || defined(G4GEOM_USE_PARTIAL_USOLIDS) )
51 : Base_t(pName, pX, pY, pZ)
60G4UBox::G4UBox( __void__& a )
69G4UBox::~G4UBox() =
default;
75G4UBox::G4UBox(
const G4UBox& rhs)
84G4UBox& G4UBox::operator = (
const G4UBox& rhs)
88 if (
this == &rhs) {
return *
this; }
92 Base_t::operator=(rhs);
101G4double G4UBox::GetXHalfLength()
const
105G4double G4UBox::GetYHalfLength()
const
109G4double G4UBox::GetZHalfLength()
const
114void G4UBox::SetXHalfLength(
G4double dx)
117 fRebuildPolyhedron =
true;
119void G4UBox::SetYHalfLength(
G4double dy)
122 fRebuildPolyhedron =
true;
124void G4UBox::SetZHalfLength(
G4double dz)
127 fRebuildPolyhedron =
true;
148 return new G4UBox(*
this);
160 pMin.
set(-dx,-dy,-dz);
161 pMax.
set( dx, dy, dz);
165 if (pMin.
x() >= pMax.
x() || pMin.
y() >= pMax.
y() || pMin.
z() >= pMax.
z())
167 std::ostringstream message;
168 message <<
"Bad bounding box (min >= max) for solid: "
170 <<
"\npMin = " << pMin
171 <<
"\npMax = " << pMax;
172 G4Exception(
"G4UBox::BoundingLimits()",
"GeomMgt0001",
183G4UBox::CalculateExtent(
const EAxis pAxis,
191 BoundingLimits(bmin,bmax);
195 return bbox.CalculateExtent(pAxis,pVoxelLimit,pTransform,pMin,pMax);
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
G4GLOB_DLL std::ostream G4cout
void set(double x, double y, double z)
virtual void ComputeDimensions(G4Box &, const G4int, const G4VPhysicalVolume *) const