34#if ( defined(G4GEOM_USE_USOLIDS) || defined(G4GEOM_USE_PARTIAL_USOLIDS) )
51 : Base_t(pName, pX, pY, pZ)
59G4UBox::G4UBox(
const G4UBox& rhs)
68G4UBox& G4UBox::operator = (
const G4UBox& rhs)
72 if (
this == &rhs) {
return *
this; }
76 Base_t::operator=(rhs);
85G4double G4UBox::GetXHalfLength()
const
89G4double G4UBox::GetYHalfLength()
const
93G4double G4UBox::GetZHalfLength()
const
98void G4UBox::SetXHalfLength(
G4double dx)
101 fRebuildPolyhedron =
true;
103void G4UBox::SetYHalfLength(
G4double dy)
106 fRebuildPolyhedron =
true;
108void G4UBox::SetZHalfLength(
G4double dz)
111 fRebuildPolyhedron =
true;
132 return new G4UBox(*
this);
144 pMin.
set(-dx,-dy,-dz);
145 pMax.
set( dx, dy, dz);
149 if (pMin.
x() >= pMax.
x() || pMin.
y() >= pMax.
y() || pMin.
z() >= pMax.
z())
151 std::ostringstream message;
152 message <<
"Bad bounding box (min >= max) for solid: "
154 <<
"\npMin = " << pMin
155 <<
"\npMax = " << pMax;
156 G4Exception(
"G4UBox::BoundingLimits()",
"GeomMgt0001",
167G4UBox::CalculateExtent(
const EAxis pAxis,
175 BoundingLimits(bmin,bmax);
179 return bbox.CalculateExtent(pAxis,pVoxelLimit,pTransform,pMin,pMax);
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
CLHEP::Hep3Vector G4ThreeVector
G4GLOB_DLL std::ostream G4cout
void set(double x, double y, double z)
G4BoundingEnvelope is a helper class to facilitate calculation of the extent of a solid within the li...
G4Box is a cuboid of given half lengths dx,dy,dz. The Box is centred on the origin with sides paralle...
G4VPVParameterisation ia an abstract base class for Parameterisation, able to compute the transformat...
virtual void ComputeDimensions(G4Box &, const G4int, const G4VPhysicalVolume *) const
G4VPhysicalVolume is an abstract base class for the representation of a positioned volume....
G4VSolid is an abstract base class for solids, physical shapes that can be tracked through....
G4VoxelLimits represents limitation/restrictions of space, where restrictions are only made perpendic...