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