38 #if ( defined(G4GEOM_USE_USOLIDS) || defined(G4GEOM_USE_PARTIAL_USOLIDS) )
51 G4UParaboloid::G4UParaboloid(
const G4String& pName,
55 : Base_t(pName, rlo, rhi, dz)
63 G4UParaboloid::G4UParaboloid( __void__&
a )
71 G4UParaboloid::~G4UParaboloid() { }
77 G4UParaboloid::G4UParaboloid(
const G4UParaboloid& rhs)
85 G4UParaboloid& G4UParaboloid::operator = (
const G4UParaboloid& rhs)
89 if (
this == &rhs) {
return *
this; }
93 Base_t::operator=(rhs);
102 G4double G4UParaboloid::GetZHalfLength()
const
107 G4double G4UParaboloid::GetRadiusMinusZ()
const
112 G4double G4UParaboloid::GetRadiusPlusZ()
const
121 void G4UParaboloid::SetZHalfLength(
G4double dz)
126 void G4UParaboloid::SetRadiusMinusZ(
G4double r1)
131 void G4UParaboloid::SetRadiusPlusZ(
G4double r2)
140 G4VSolid* G4UParaboloid::Clone()
const
142 return new G4UParaboloid(*
this);
152 static G4bool checkBBox =
true;
156 pMin.
set(-r2,-r2,-dz);
157 pMax.
set( r2, r2, dz);
161 if (pMin.
x() >= pMax.
x() || pMin.
y() >= pMax.
y() || pMin.
z() >= pMax.
z())
164 message <<
"Bad bounding box (min >= max) for solid: "
166 <<
"\npMin = " << pMin
167 <<
"\npMax = " << pMax;
168 G4Exception(
"G4UParaboloid::BoundingLimits()",
"GeomMgt0001",
187 message <<
"Inconsistency in bounding boxes for solid: "
189 <<
"\nBBox min: wrapper = " << pMin <<
" solid = " << vmin
190 <<
"\nBBox max: wrapper = " << pMax <<
" solid = " << vmax;
191 G4Exception(
"G4UParaboloid::BoundingLimits()",
"GeomMgt0001",
203 G4UParaboloid::CalculateExtent(
const EAxis pAxis,
211 BoundingLimits(bmin,bmax);
215 return bbox.CalculateExtent(pAxis,pVoxelLimit,pTransform,pMin,pMax);
226 GetZHalfLength(), 0.,
twopi);
229 #endif // G4GEOM_USE_USOLIDS
void set(double x, double y, double z)
std::vector< ExP01TrackerHit * > a
void message(RunManager *runmanager)
const G4double kCarTolerance
static constexpr double twopi
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
G4GLOB_DLL std::ostream G4cout