39 #if ( defined(G4GEOM_USE_USOLIDS) || defined(G4GEOM_USE_PARTIAL_USOLIDS) )
50 G4UHype::G4UHype(
const G4String& pName,
56 : Base_t(pName, newInnerRadius, newOuterRadius,
57 newInnerStereo, newOuterStereo, newHalfLenZ)
65 G4UHype::G4UHype( __void__&
a )
73 G4UHype::~G4UHype() { }
79 G4UHype::G4UHype(
const G4UHype& rhs)
87 G4UHype& G4UHype::operator = (
const G4UHype& rhs)
91 if (
this == &rhs) {
return *
this; }
95 Base_t::operator=(rhs);
104 G4double G4UHype::GetInnerRadius ()
const
109 G4double G4UHype::GetOuterRadius ()
const
114 G4double G4UHype::GetZHalfLength ()
const
119 G4double G4UHype::GetInnerStereo ()
const
124 G4double G4UHype::GetOuterStereo ()
const
133 void G4UHype::SetInnerRadius (
G4double newIRad)
135 SetParameters(newIRad, GetRmax(), GetStIn(), GetStOut(), GetDz());
136 fRebuildPolyhedron =
true;
139 void G4UHype::SetOuterRadius (
G4double newORad)
141 SetParameters(GetRmin(), newORad, GetStIn(), GetStOut(), GetDz());
142 fRebuildPolyhedron =
true;
145 void G4UHype::SetZHalfLength (
G4double newHLZ)
147 SetParameters(GetRmin(), GetRmax(), GetStIn(), GetStOut(), newHLZ);
148 fRebuildPolyhedron =
true;
151 void G4UHype::SetInnerStereo (
G4double newISte)
153 SetParameters(GetRmin(), GetRmax(), newISte, GetStOut(), GetDz());
154 fRebuildPolyhedron =
true;
157 void G4UHype::SetOuterStereo (
G4double newOSte)
159 SetParameters(GetRmin(), GetRmax(), GetStIn(), newOSte, GetDz());
160 fRebuildPolyhedron =
true;
183 return new G4UHype(*
this);
193 G4double endORadius = GetEndInnerRadius();
194 pMin.
set(-endORadius,-endORadius,-GetDz());
195 pMax.
set( endORadius, endORadius, GetDz());
199 if (pMin.
x() >= pMax.
x() || pMin.
y() >= pMax.
y() || pMin.
z() >= pMax.
z())
202 message <<
"Bad bounding box (min >= max) for solid: "
204 <<
"\npMin = " << pMin
205 <<
"\npMax = " << pMax;
206 G4Exception(
"G4UHype::BoundingLimits()",
"GeomMgt0001",
217 G4UHype::CalculateExtent(
const EAxis pAxis,
225 BoundingLimits(bmin,bmax);
229 return bbox.CalculateExtent(pAxis,pVoxelLimit,pTransform,pMin,pMax);
239 GetTIn2(), GetTOut2(), GetDz());
242 #endif // G4GEOM_USE_USOLIDS
void set(double x, double y, double z)
std::vector< ExP01TrackerHit * > a
virtual void ComputeDimensions(G4Box &, const G4int, const G4VPhysicalVolume *) const
void message(RunManager *runmanager)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
G4GLOB_DLL std::ostream G4cout