35#if ( defined(G4GEOM_USE_USOLIDS) || defined(G4GEOM_USE_PARTIAL_USOLIDS) )
46G4UHype::G4UHype(
const G4String& pName,
52 : Base_t(pName, newInnerRadius, newOuterRadius,
53 newInnerStereo, newOuterStereo, newHalfLenZ)
61G4UHype::G4UHype( __void__& a )
69G4UHype::~G4UHype() =
default;
75G4UHype::G4UHype(
const G4UHype& rhs)
83G4UHype& G4UHype::operator = (
const G4UHype& rhs)
87 if (
this == &rhs) {
return *
this; }
91 Base_t::operator=(rhs);
100G4double G4UHype::GetInnerRadius ()
const
105G4double G4UHype::GetOuterRadius ()
const
110G4double G4UHype::GetZHalfLength ()
const
115G4double G4UHype::GetInnerStereo ()
const
120G4double G4UHype::GetOuterStereo ()
const
129void G4UHype::SetInnerRadius (
G4double newIRad)
131 SetParameters(newIRad, GetRmax(), GetStIn(), GetStOut(), GetDz());
132 fRebuildPolyhedron =
true;
135void G4UHype::SetOuterRadius (
G4double newORad)
137 SetParameters(GetRmin(), newORad, GetStIn(), GetStOut(), GetDz());
138 fRebuildPolyhedron =
true;
141void G4UHype::SetZHalfLength (
G4double newHLZ)
143 SetParameters(GetRmin(), GetRmax(), GetStIn(), GetStOut(), newHLZ);
144 fRebuildPolyhedron =
true;
147void G4UHype::SetInnerStereo (
G4double newISte)
149 SetParameters(GetRmin(), GetRmax(), newISte, GetStOut(), GetDz());
150 fRebuildPolyhedron =
true;
153void G4UHype::SetOuterStereo (
G4double newOSte)
155 SetParameters(GetRmin(), GetRmax(), GetStIn(), newOSte, GetDz());
156 fRebuildPolyhedron =
true;
179 return new G4UHype(*
this);
189 G4double endORadius = GetEndInnerRadius();
190 pMin.
set(-endORadius,-endORadius,-GetDz());
191 pMax.
set( endORadius, endORadius, GetDz());
195 if (pMin.
x() >= pMax.
x() || pMin.
y() >= pMax.
y() || pMin.
z() >= pMax.
z())
197 std::ostringstream message;
198 message <<
"Bad bounding box (min >= max) for solid: "
200 <<
"\npMin = " << pMin
201 <<
"\npMax = " << pMax;
202 G4Exception(
"G4UHype::BoundingLimits()",
"GeomMgt0001",
213G4UHype::CalculateExtent(
const EAxis pAxis,
221 BoundingLimits(bmin,bmax);
225 return bbox.CalculateExtent(pAxis,pVoxelLimit,pTransform,pMin,pMax);
235 GetTIn2(), GetTOut2(), GetDz());
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