37 #if ( defined(G4GEOM_USE_USOLIDS) || defined(G4GEOM_USE_PARTIAL_USOLIDS) ) 
   56   G4VSolid(name), fShape(s), fRebuildPolyhedron(false), fPolyhedron(0)
 
   60 G4USolid::G4USolid(__void__& 
a)
 
   61   : 
G4VSolid(a), fShape(0), fRebuildPolyhedron(false), fPolyhedron(0)
 
   67   delete fPolyhedron; fPolyhedron = 0;
 
   72   return (
this == &s) ? 
true : 
false;
 
   78   VUSolid::EnumInside in_temp;
 
   84   in_temp = fShape->Inside(pt);
 
   86   if (in_temp == VUSolid::EnumInside::eSurface) 
return kSurface;
 
   87   if (in_temp == VUSolid::EnumInside::eInside) 
return kInside;
 
  114   G4double dist = fShape->DistanceToIn(p, v);
 
  126   G4double dist = fShape->SafetyFromOutside(p); 
 
  148   G4double dist = fShape->DistanceToOut(p, v, n, valid); 
 
  151     if(valid){ *validNorm = 
true; }
 
  152     else { *validNorm = 
false; }
 
  171   G4double dist = fShape->SafetyFromInside(p); 
 
  178   return fShape->Capacity();
 
  183   return fShape->SurfaceArea();
 
  189   p = fShape->GetPointOnSurface();
 
  193 G4bool G4USolid::CalculateExtent(
const EAxis pAxis,
 
  199   fShape->Extent(vmin,vmax);
 
  205   if (bmin.x() >= bmax.x() || bmin.y() >= bmax.y() || bmin.z() >= bmax.z())
 
  207     std::ostringstream message;
 
  208     message << 
"Bad bounding box (min >= max) for solid: " 
  209             << GetName() << 
" - " << GetEntityType() << 
" !" 
  210             << 
"\nmin = " << bmin
 
  211             << 
"\nmax = " << bmax;
 
  212     G4Exception(
"G4USolid::CalculateExtent()", 
"GeomMgt0001",
 
  218   return bbox.CalculateExtent(pAxis,pVoxelLimit,pTransform,pMin,pMax);
 
  225     std::ostringstream message;
 
  226     message << 
"Illegal call to G4USolid::ComputeDimensions()" << 
G4endl 
  227             << 
"Method not overloaded by derived class !";
 
  228     G4Exception(
"G4USolid::ComputeDimensions()", 
"GeomSolids0003",
 
  240   G4String string = fShape->GetEntityType();
 
  241   return "G4" + string;
 
  244 std::ostream& G4USolid::StreamInfo(std::ostream& os)
 const 
  246   return fShape->StreamInfo(os);
 
  249 G4USolid::G4USolid(
const G4USolid& rhs)
 
  250   : 
G4VSolid(rhs), fRebuildPolyhedron(false), fPolyhedron(0)
 
  252   fShape = rhs.fShape->
Clone();
 
  255 G4USolid& G4USolid::operator=(
const G4USolid& rhs)
 
  270   fShape = rhs.fShape->Clone();
 
  271   fRebuildPolyhedron = 
false;
 
  272   delete fPolyhedron; fPolyhedron = 0;
 
  279   std::ostringstream message;
 
  280   message << 
"Clone() method not implemented for type: " 
  281           << GetEntityType() << 
"!" << 
G4endl 
  282           << 
"Returning NULL pointer!";
 
  291   std::ostringstream message;
 
  292   message << 
"Visualization not supported for USolid shape " 
  293           << GetEntityType() << 
"... Sorry!" << 
G4endl;
 
  294   G4Exception(
"G4USolid::CreatePolyhedron()", 
"GeomSolids0003",
 
  302       fRebuildPolyhedron ||
 
  303       fPolyhedron->GetNumberOfRotationStepsAtTimeOfCreation() !=
 
  304       fPolyhedron->GetNumberOfRotationSteps())
 
  308     fPolyhedron = CreatePolyhedron();
 
  309     fRebuildPolyhedron = 
false;
 
  318   fShape->Extent(vmin,vmax);
 
  324 #endif  // G4GEOM_USE_USOLIDS 
bool operator==(const HepRotation &r, const HepLorentzRotation <)
 
static const G4double kInfinity
 
CLHEP::Hep3Vector G4ThreeVector
 
std::vector< ExP01TrackerHit * > a
 
virtual void AddSolid(const G4Box &)=0
 
#define G4MUTEX_INITIALIZER
 
G4GLOB_DLL std::ostream G4cout
 
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
 
G4VSolid & operator=(const G4VSolid &rhs)
 
virtual G4VSolid * Clone() const