36 #if ( defined(G4GEOM_USE_USOLIDS) || defined(G4GEOM_USE_PARTIAL_USOLIDS) )
42 using namespace CLHEP;
49 G4UBox::G4UBox(
const G4String& pName,
53 : G4USolid(pName, new UBox(pName, pX, pY, pZ))
62 G4UBox::G4UBox( __void__&
a )
79 G4UBox::G4UBox(
const G4UBox& rhs)
88 G4UBox& G4UBox::operator = (
const G4UBox& rhs)
92 if (
this == &rhs) {
return *
this; }
96 G4USolid::operator=(rhs);
105 G4double G4UBox::GetXHalfLength()
const
107 return GetShape()->GetXHalfLength();
109 G4double G4UBox::GetYHalfLength()
const
111 return GetShape()->GetYHalfLength();
113 G4double G4UBox::GetZHalfLength()
const
115 return GetShape()->GetZHalfLength();
118 void G4UBox::SetXHalfLength(
G4double dx)
120 GetShape()->SetXHalfLength(dx);
121 fRebuildPolyhedron =
true;
123 void G4UBox::SetYHalfLength(
G4double dy)
125 GetShape()->SetYHalfLength(dy);
126 fRebuildPolyhedron =
true;
128 void G4UBox::SetZHalfLength(
G4double dz)
130 GetShape()->SetZHalfLength(dz);
131 fRebuildPolyhedron =
true;
152 return new G4UBox(*
this);
164 pMin.
set(-dx,-dy,-dz);
165 pMax.
set( dx, dy, dz);
169 if (pMin.
x() >= pMax.
x() || pMin.
y() >= pMax.
y() || pMin.
z() >= pMax.
z())
171 std::ostringstream message;
172 message <<
"Bad bounding box (min >= max) for solid: "
174 <<
"\npMin = " << pMin
175 <<
"\npMax = " << pMax;
186 G4UBox::CalculateExtent(
const EAxis pAxis,
198 return bbox.CalculateExtent(pAxis,pVoxelLimit,pTransform,pMin,pMax);
213 #endif // G4GEOM_USE_USOLIDS
void set(double x, double y, double z)
std::vector< ExP01TrackerHit * > a
G4GLOB_DLL std::ostream G4cout
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
virtual void ComputeDimensions(G4Box &, const G4int, const G4VPhysicalVolume *) const