53 #include "HepPolyhedronProcessor.h" 
  128   if (
this == &rhs)  { 
return *
this; }
 
  217     G4cout << 
"WARNING - Invalid call in " 
  218            << 
"G4IntersectionSolid::SurfaceNormal(p)" << 
G4endl 
  219            << 
"  Point p is outside !" << 
G4endl;
 
  221     G4cerr << 
"WARNING - Invalid call in " 
  222            << 
"G4IntersectionSolid::SurfaceNormal(p)" << G4endl
 
  223            << 
"  Point p is outside !" << 
G4endl;
 
  251       G4cout << 
"WARNING - Invalid call in " 
  252              << 
"G4IntersectionSolid::SurfaceNormal(p)" << 
G4endl 
  253              << 
"  Point p is out of surface !" << 
G4endl;
 
  255       G4cerr << 
"WARNING - Invalid call in " 
  256              << 
"G4IntersectionSolid::SurfaceNormal(p)" << G4endl
 
  257              << 
"  Point p is out of surface !" << 
G4endl;
 
  277     G4cout << 
"WARNING - Invalid call in " 
  278            << 
"G4IntersectionSolid::DistanceToIn(p,v)" << 
G4endl 
  279            << 
"  Point p is inside !" << 
G4endl;
 
  282     G4cerr << 
"WARNING - Invalid call in " 
  283            << 
"G4IntersectionSolid::DistanceToIn(p,v)" << G4endl
 
  284            << 
"  Point p is inside !" << 
G4endl;
 
  297     G4bool        doA = 
true, doB = 
true;
 
  342         if( dB1 < dA2 )  
return dB1;
 
  352         if( dA1 < dB2 )  
return dA1;
 
  376     G4cout << 
"WARNING - Invalid call in " 
  377            << 
"G4IntersectionSolid::DistanceToIn(p)" << 
G4endl 
  378            << 
"  Point p is inside !" << 
G4endl;
 
  380     G4cerr << 
"WARNING - Invalid call in " 
  381            << 
"G4IntersectionSolid::DistanceToIn(p)" << G4endl
 
  382            << 
"  Point p is inside !" << 
G4endl;
 
  420   G4bool         validNormA, validNormB;
 
  434     G4cout << 
"WARNING - Invalid call in " 
  435            << 
"G4IntersectionSolid::DistanceToOut(p,v)" << G4endl
 
  436            << 
"  Point p is outside !" << 
G4endl;
 
  439     G4cerr << 
"WARNING - Invalid call in " 
  440            << 
"G4IntersectionSolid::DistanceToOut(p,v)" << G4endl
 
  441            << 
"  Point p is outside !" << 
G4endl;
 
  455        *validNorm = validNormA;
 
  460        *validNorm = validNormB;
 
  478     G4cout << 
"WARNING - Invalid call in " 
  479            << 
"G4IntersectionSolid::DistanceToOut(p)" << 
G4endl 
  480            << 
"  Point p is outside !" << 
G4endl;
 
  482     G4cerr << 
"WARNING - Invalid call in " 
  483            << 
"G4IntersectionSolid::DistanceToOut(p)" << G4endl
 
  484            << 
"  Point p is outside !" << 
G4endl;
 
  511   return G4String(
"G4IntersectionSolid");
 
  545   if (processor.execute(*result)) { 
return result; }
 
virtual G4bool CalculateExtent(const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pMin, G4double &pMax) const =0
 
static const G4double kInfinity
 
EInside Inside(const G4ThreeVector &p) const 
 
CLHEP::Hep3Vector G4ThreeVector
 
CLHEP::HepRotation G4RotationMatrix
 
G4bool CalculateExtent(const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pMin, G4double &pMax) const 
 
G4IntersectionSolid(const G4String &pName, G4VSolid *pSolidA, G4VSolid *pSolidB)
 
virtual void AddSolid(const G4Box &)=0
 
void ComputeDimensions(G4VPVParameterisation *p, const G4int n, const G4VPhysicalVolume *pRep)
 
static double normal(HepRandomEngine *eptr)
 
G4ThreeVector SurfaceNormal(const G4ThreeVector &p) const 
 
G4GLOB_DLL std::ostream G4cout
 
virtual EInside Inside(const G4ThreeVector &p) const =0
 
virtual G4ThreeVector SurfaceNormal(const G4ThreeVector &p) const =0
 
G4GeometryType GetEntityType() const 
 
virtual G4double DistanceToIn(const G4ThreeVector &p, const G4ThreeVector &v) const =0
 
G4double DistanceToIn(const G4ThreeVector &p, const G4ThreeVector &v) const 
 
G4Polyhedron * CreatePolyhedron() const 
 
G4double DistanceToOut(const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=0, G4ThreeVector *n=0) const 
 
T max(const T t1, const T t2)
brief Return the largest of the two arguments 
 
T min(const T t1, const T t2)
brief Return the smallest of the two arguments 
 
G4BooleanSolid & operator=(const G4BooleanSolid &rhs)
 
void DescribeYourselfTo(G4VGraphicsScene &scene) const 
 
virtual G4double DistanceToOut(const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=0, G4ThreeVector *n=0) const =0
 
G4IntersectionSolid & operator=(const G4IntersectionSolid &rhs)
 
G4Polyhedron * StackPolyhedron(HepPolyhedronProcessor &, const G4VSolid *) const 
 
G4GLOB_DLL std::ostream G4cerr
 
virtual ~G4IntersectionSolid()