126 if (
this == &rhs) {
return *
this; }
155 if (pMin.
x() >= pMax.
x() || pMin.
y() >= pMax.
y() || pMin.
z() >= pMax.
z())
157 std::ostringstream message;
158 message <<
"Bad bounding box (min >= max) for solid: "
160 <<
"\npMin = " << pMin
161 <<
"\npMax = " << pMax;
178 G4bool touchesA, touchesB, out ;
183 pTransform, minA, maxA);
185 pTransform, minB, maxB);
186 if( touchesA || touchesB )
243 G4cout <<
"WARNING - Invalid call in "
244 <<
"G4UnionSolid::SurfaceNormal(p)" <<
G4endl
245 <<
" Point p is outside !" <<
G4endl;
247 G4cerr <<
"WARNING - Invalid call in "
248 <<
"G4UnionSolid::SurfaceNormal(p)" << G4endl
249 <<
" Point p is outside !" <<
G4endl;
269 G4cout <<
"WARNING - Invalid call in "
270 <<
"G4UnionSolid::SurfaceNormal(p)" <<
G4endl
271 <<
" Point p is inside !" <<
G4endl;
273 G4cerr <<
"WARNING - Invalid call in "
274 <<
"G4UnionSolid::SurfaceNormal(p)" << G4endl
275 <<
" Point p is inside !" <<
G4endl;
294 G4cout <<
"WARNING - Invalid call in "
295 <<
"G4UnionSolid::DistanceToIn(p,v)" <<
G4endl
296 <<
" Point p is inside !" <<
G4endl;
299 G4cerr <<
"WARNING - Invalid call in "
300 <<
"G4UnionSolid::DistanceToIn(p,v)" << G4endl
301 <<
" Point p is inside !" <<
G4endl;
322 G4cout <<
"WARNING - Invalid call in "
323 <<
"G4UnionSolid::DistanceToIn(p)" <<
G4endl
324 <<
" Point p is inside !" <<
G4endl;
326 G4cerr <<
"WARNING - Invalid call in "
327 <<
"G4UnionSolid::DistanceToIn(p)" << G4endl
328 <<
" Point p is inside !" <<
G4endl;
335 if(safety < 0.0) safety = 0.0 ;
365 G4cout <<
"WARNING - Invalid call in "
366 <<
"G4UnionSolid::DistanceToOut(p,v)" << G4endl
367 <<
" Point p is outside !" <<
G4endl;
370 G4cerr <<
"WARNING - Invalid call in "
371 <<
"G4UnionSolid::DistanceToOut(p,v)" << G4endl
372 <<
" Point p is outside !" <<
G4endl;
438 G4cout <<
"WARNING - Invalid call in "
439 <<
"G4UnionSolid::DistanceToOut(p)" <<
G4endl
440 <<
" Point p is outside !" <<
G4endl;
442 G4cerr <<
"WARNING - Invalid call in "
443 <<
"G4UnionSolid::DistanceToOut(p)" << G4endl
444 <<
" Point p is outside !" <<
G4endl;
G4double G4ParticleHPJENDLHEData::G4double result
void set(double x, double y, double z)
virtual G4bool CalculateExtent(const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pMin, G4double &pMax) const =0
void Extent(G4ThreeVector &pMin, G4ThreeVector &pMax) const
static constexpr double mm
static const G4double kInfinity
EInside Inside(const G4ThreeVector &p) const
std::vector< ExP01TrackerHit * > a
virtual void AddSolid(const G4Box &)=0
void DescribeYourselfTo(G4VGraphicsScene &scene) const
G4double DistanceToIn(const G4ThreeVector &p, const G4ThreeVector &v) const
static double normal(HepRandomEngine *eptr)
G4GLOB_DLL std::ostream G4cout
G4ThreeVector SurfaceNormal(const G4ThreeVector &p) const
virtual EInside Inside(const G4ThreeVector &p) const =0
G4double GetRadialTolerance() const
G4Polyhedron * CreatePolyhedron() const
virtual G4ThreeVector SurfaceNormal(const G4ThreeVector &p) const =0
G4double DistanceToOut(const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=0, G4ThreeVector *n=0) const
virtual G4double DistanceToIn(const G4ThreeVector &p, const G4ThreeVector &v) const =0
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
G4bool CalculateExtent(const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pMin, G4double &pMax) const
T max(const T t1, const T t2)
brief Return the largest of the two arguments
void ComputeDimensions(G4VPVParameterisation *p, const G4int n, const G4VPhysicalVolume *pRep)
T min(const T t1, const T t2)
brief Return the smallest of the two arguments
G4BooleanSolid & operator=(const G4BooleanSolid &rhs)
virtual G4double DistanceToOut(const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=0, G4ThreeVector *n=0) const =0
G4GeometryType GetEntityType() const
virtual void Extent(G4ThreeVector &pMin, G4ThreeVector &pMax) const
G4Polyhedron * StackPolyhedron(HepPolyhedronProcessor &, const G4VSolid *) const
bool execute(HepPolyhedron &)
static G4GeometryTolerance * GetInstance()
G4GLOB_DLL std::ostream G4cerr
G4UnionSolid & operator=(const G4UnionSolid &rhs)
G4UnionSolid(const G4String &pName, G4VSolid *pSolidA, G4VSolid *pSolidB)