47   : fVoxelHalfX(0.), fVoxelHalfY(0.), fVoxelHalfZ(0.),
 
   48     fNoVoxelX(0), fNoVoxelY(0), fNoVoxelZ(0), fNoVoxelXY(0), fNoVoxel(0),
 
   49     fMaterialIndices(0), fContainerSolid(0),
 
   50     fContainerWallX(0.), fContainerWallY(0.), fContainerWallZ(0.),
 
   51     bSkipEqualMaterials(true)
 
  104   CheckCopyNo( copyNo );
 
  110   ComputeVoxelIndices( copyNo, nx, ny, nz );
 
  131   CheckCopyNo( copyNo );
 
  142   CheckCopyNo( copyNo );
 
  172 void G4PhantomParameterisation::
 
  173 ComputeVoxelIndices(
const G4int copyNo, 
size_t& nx,
 
  174                             size_t& ny, 
size_t& nz )
 const 
  176   CheckCopyNo( copyNo );
 
  202     std::ostringstream message;
 
  203     message << 
"Voxels do not fully fill the container: " 
  208             << 
"        Maximum difference is: " << toleranceForError;
 
  209     G4Exception(
"G4PhantomParameterisation::CheckVoxelsFillContainer()",
 
  213   else if( std::fabs(contX-
fNoVoxelX*fVoxelHalfX) >= toleranceForWarning
 
  214         || std::fabs(contY-
fNoVoxelY*fVoxelHalfY) >= toleranceForWarning  
 
  215         || std::fabs(contZ-
fNoVoxelZ*fVoxelHalfZ) >= toleranceForWarning )
 
  217     std::ostringstream message;
 
  218     message << 
"Voxels do not fully fill the container: " 
  223             << 
"          Maximum difference is: " << toleranceForWarning;
 
  224     G4Exception(
"G4PhantomParameterisation::CheckVoxelsFillContainer()",
 
  239     std::ostringstream message;
 
  240     message << 
"Point outside voxels!" << 
G4endl 
  241             << 
"        localPoint - " << localPoint
 
  242             << 
" - is outside container solid: " 
  244     G4Exception(
"G4PhantomParameterisation::GetReplicaNo()", 
"GeomNav0003",
 
  246     G4cerr << 
" DIFFERENCE WITH PHANTOM WALLS X: " 
  282     if( localDir.
x() < 0 )
 
  299     if( localDir.
y() < 0 )
 
  316     if( localDir.
z() < 0 )
 
  369     std::ostringstream message;
 
  370     message << 
"Corrected the copy number! It was negative or too big" << 
G4endl 
  371             << 
"          LocalPoint: " << localPoint << 
G4endl 
  372             << 
"          LocalDir: " << localDir << 
G4endl 
  373             << 
"          Voxel container size: " << fContainerWallX
 
  374             << 
" " << fContainerWallY << 
" " << fContainerWallZ << 
G4endl 
  375             << 
"          LocalPoint - wall: " 
  376             << localPoint.
x()-fContainerWallX << 
" " 
  377             << localPoint.
y()-fContainerWallY << 
" " 
  379     G4Exception(
"G4PhantomParameterisation::GetReplicaNo()",
 
  393 void G4PhantomParameterisation::CheckCopyNo( 
const G4int copyNo )
 const 
  397     std::ostringstream message;
 
  398     message << 
"Copy number is negative or too big!" << 
G4endl 
  399             << 
"        Copy number: " << copyNo << 
G4endl 
  400             << 
"        Total number of voxels: " << 
fNoVoxel;
 
  401     G4Exception(
"G4PhantomParameterisation::CheckCopyNo()",
 
~G4PhantomParameterisation()
 
G4double GetSurfaceTolerance() const 
 
G4VSolid * GetSolid() const 
 
virtual void ComputeTransformation(const G4int, G4VPhysicalVolume *) const 
 
virtual G4Material * ComputeMaterial(const G4int repNo, G4VPhysicalVolume *currentVol, const G4VTouchable *parentTouch=0)
 
size_t GetMaterialIndex(size_t nx, size_t ny, size_t nz) const 
 
virtual G4int GetReplicaNo(const G4ThreeVector &localPoint, const G4ThreeVector &localDir)
 
void BuildContainerSolid(G4VPhysicalVolume *pPhysicalVol)
 
size_t * fMaterialIndices
 
virtual EInside Inside(const G4ThreeVector &p) const =0
 
virtual G4VSolid * ComputeSolid(const G4int, G4VPhysicalVolume *)
 
G4PhantomParameterisation()
 
void SetTranslation(const G4ThreeVector &v)
 
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
 
void CheckVoxelsFillContainer(G4double contX, G4double contY, G4double contZ) const 
 
G4Material * GetMaterial(size_t nx, size_t ny, size_t nz) const 
 
G4LogicalVolume * GetLogicalVolume() const 
 
G4VSolid * fContainerSolid
 
std::vector< G4Material * > fMaterials
 
static G4GeometryTolerance * GetInstance()
 
G4GLOB_DLL std::ostream G4cerr
 
G4ThreeVector GetTranslation(const G4int copyNo) const