Geant4  10.02.p02
G4PhantomParameterisation Class Reference

#include <G4PhantomParameterisation.hh>

+ Inheritance diagram for G4PhantomParameterisation:
+ Collaboration diagram for G4PhantomParameterisation:

Public Member Functions

 G4PhantomParameterisation ()
 
 ~G4PhantomParameterisation ()
 
virtual void ComputeTransformation (const G4int, G4VPhysicalVolume *) const
 
virtual G4VSolidComputeSolid (const G4int, G4VPhysicalVolume *)
 
virtual G4MaterialComputeMaterial (const G4int repNo, G4VPhysicalVolume *currentVol, const G4VTouchable *parentTouch=0)
 
void ComputeDimensions (G4Box &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Tubs &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Trd &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Trap &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Cons &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Orb &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Sphere &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Ellipsoid &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Torus &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Para &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Hype &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Polycone &, const G4int, const G4VPhysicalVolume *) const
 
void ComputeDimensions (G4Polyhedra &, const G4int, const G4VPhysicalVolume *) const
 
void BuildContainerSolid (G4VPhysicalVolume *pPhysicalVol)
 
void BuildContainerSolid (G4VSolid *pMotherSolid)
 
virtual G4int GetReplicaNo (const G4ThreeVector &localPoint, const G4ThreeVector &localDir)
 
void SetMaterials (std::vector< G4Material * > &mates)
 
void SetMaterialIndices (size_t *matInd)
 
void SetVoxelDimensions (G4double halfx, G4double halfy, G4double halfz)
 
void SetNoVoxel (size_t nx, size_t ny, size_t nz)
 
G4double GetVoxelHalfX () const
 
G4double GetVoxelHalfY () const
 
G4double GetVoxelHalfZ () const
 
size_t GetNoVoxelX () const
 
size_t GetNoVoxelY () const
 
size_t GetNoVoxelZ () const
 
size_t GetNoVoxel () const
 
std::vector< G4Material * > GetMaterials () const
 
size_t * GetMaterialIndices () const
 
G4VSolidGetContainerSolid () const
 
G4ThreeVector GetTranslation (const G4int copyNo) const
 
G4bool SkipEqualMaterials () const
 
void SetSkipEqualMaterials (G4bool skip)
 
size_t GetMaterialIndex (size_t nx, size_t ny, size_t nz) const
 
size_t GetMaterialIndex (size_t copyNo) const
 
G4MaterialGetMaterial (size_t nx, size_t ny, size_t nz) const
 
G4MaterialGetMaterial (size_t copyNo) const
 
void CheckVoxelsFillContainer (G4double contX, G4double contY, G4double contZ) const
 
- Public Member Functions inherited from G4VPVParameterisation
 G4VPVParameterisation ()
 
virtual ~G4VPVParameterisation ()
 
virtual G4bool IsNested () const
 
virtual G4VVolumeMaterialScannerGetMaterialScanner ()
 

Protected Attributes

G4double fVoxelHalfX
 
G4double fVoxelHalfY
 
G4double fVoxelHalfZ
 
size_t fNoVoxelX
 
size_t fNoVoxelY
 
size_t fNoVoxelZ
 
size_t fNoVoxelXY
 
size_t fNoVoxel
 
std::vector< G4Material * > fMaterials
 
size_t * fMaterialIndices
 
G4VSolidfContainerSolid
 
G4double fContainerWallX
 
G4double fContainerWallY
 
G4double fContainerWallZ
 
G4double kCarTolerance
 
G4bool bSkipEqualMaterials
 

Private Member Functions

void ComputeVoxelIndices (const G4int copyNo, size_t &nx, size_t &ny, size_t &nz) const
 
void CheckCopyNo (const G4int copyNo) const
 

Detailed Description

Definition at line 73 of file G4PhantomParameterisation.hh.

Constructor & Destructor Documentation

G4PhantomParameterisation::G4PhantomParameterisation ( )

Definition at line 46 of file G4PhantomParameterisation.cc.

References G4GeometryTolerance::GetInstance(), G4GeometryTolerance::GetSurfaceTolerance(), and kCarTolerance.

+ Here is the call graph for this function:

G4PhantomParameterisation::~G4PhantomParameterisation ( )

Definition at line 58 of file G4PhantomParameterisation.cc.

Member Function Documentation

void G4PhantomParameterisation::BuildContainerSolid ( G4VPhysicalVolume pPhysicalVol)

Definition at line 65 of file G4PhantomParameterisation.cc.

References fContainerSolid, fContainerWallX, fContainerWallY, fContainerWallZ, fNoVoxelX, fNoVoxelY, fNoVoxelZ, fVoxelHalfX, fVoxelHalfY, fVoxelHalfZ, G4VPhysicalVolume::GetLogicalVolume(), and G4LogicalVolume::GetSolid().

Referenced by DicomRegularDetectorConstruction::ConstructPhantom().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4PhantomParameterisation::BuildContainerSolid ( G4VSolid pMotherSolid)
void G4PhantomParameterisation::CheckCopyNo ( const G4int  copyNo) const
private

Definition at line 386 of file G4PhantomParameterisation.cc.

References FatalErrorInArgument, fNoVoxel, G4endl, and G4Exception().

Referenced by ComputeMaterial(), ComputeVoxelIndices(), GetMaterialIndex(), and GetTranslation().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4PhantomParameterisation::CheckVoxelsFillContainer ( G4double  contX,
G4double  contY,
G4double  contZ 
) const

Definition at line 184 of file G4PhantomParameterisation.cc.

References FatalException, fContainerSolid, fNoVoxelX, fNoVoxelY, fNoVoxelZ, fVoxelHalfX, fVoxelHalfY, fVoxelHalfZ, G4endl, G4Exception(), G4VSolid::GetName(), JustWarning, and kCarTolerance.

Referenced by DicomRegularDetectorConstruction::ConstructPhantom().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4PhantomParameterisation::ComputeDimensions ( G4Box ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlinevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 89 of file G4PhantomParameterisation.hh.

void G4PhantomParameterisation::ComputeDimensions ( G4Tubs ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlinevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 91 of file G4PhantomParameterisation.hh.

void G4PhantomParameterisation::ComputeDimensions ( G4Trd ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlinevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 93 of file G4PhantomParameterisation.hh.

void G4PhantomParameterisation::ComputeDimensions ( G4Trap ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlinevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 95 of file G4PhantomParameterisation.hh.

void G4PhantomParameterisation::ComputeDimensions ( G4Cons ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlinevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 97 of file G4PhantomParameterisation.hh.

void G4PhantomParameterisation::ComputeDimensions ( G4Orb ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlinevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 99 of file G4PhantomParameterisation.hh.

void G4PhantomParameterisation::ComputeDimensions ( G4Sphere ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlinevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 101 of file G4PhantomParameterisation.hh.

void G4PhantomParameterisation::ComputeDimensions ( G4Ellipsoid ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlinevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 103 of file G4PhantomParameterisation.hh.

void G4PhantomParameterisation::ComputeDimensions ( G4Torus ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlinevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 105 of file G4PhantomParameterisation.hh.

void G4PhantomParameterisation::ComputeDimensions ( G4Para ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlinevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 107 of file G4PhantomParameterisation.hh.

void G4PhantomParameterisation::ComputeDimensions ( G4Hype ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlinevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 109 of file G4PhantomParameterisation.hh.

void G4PhantomParameterisation::ComputeDimensions ( G4Polycone ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlinevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 111 of file G4PhantomParameterisation.hh.

void G4PhantomParameterisation::ComputeDimensions ( G4Polyhedra ,
const G4int  ,
const G4VPhysicalVolume  
) const
inlinevirtual

Reimplemented from G4VPVParameterisation.

Definition at line 113 of file G4PhantomParameterisation.hh.

G4Material * G4PhantomParameterisation::ComputeMaterial ( const G4int  repNo,
G4VPhysicalVolume currentVol,
const G4VTouchable parentTouch = 0 
)
virtual

Reimplemented from G4VPVParameterisation.

Reimplemented in G4PartialPhantomParameterisation, and DicomPhantomParameterisationColour.

Definition at line 129 of file G4PhantomParameterisation.cc.

References CheckCopyNo(), fMaterials, and GetMaterialIndex().

Referenced by G4GMocrenFileSceneHandler::AddSolid(), DicomPhantomParameterisationColour::ComputeMaterial(), G4RegularNavigation::ComputeStepSkippingEqualMaterials(), and G4RegularNavigation::LevelLocate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4VSolid * G4PhantomParameterisation::ComputeSolid ( const G4int  ,
G4VPhysicalVolume pPhysicalVol 
)
virtual

Reimplemented from G4VPVParameterisation.

Definition at line 121 of file G4PhantomParameterisation.cc.

References G4VPhysicalVolume::GetLogicalVolume(), and G4LogicalVolume::GetSolid().

+ Here is the call graph for this function:

void G4PhantomParameterisation::ComputeTransformation ( const G4int  copyNo,
G4VPhysicalVolume physVol 
) const
virtual

Implements G4VPVParameterisation.

Reimplemented in G4PartialPhantomParameterisation.

Definition at line 90 of file G4PhantomParameterisation.cc.

References GetTranslation(), and G4VPhysicalVolume::SetTranslation().

Referenced by G4RegularNavigation::LevelLocate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4PhantomParameterisation::ComputeVoxelIndices ( const G4int  copyNo,
size_t &  nx,
size_t &  ny,
size_t &  nz 
) const
private

Definition at line 172 of file G4PhantomParameterisation.cc.

References CheckCopyNo(), fNoVoxelX, fNoVoxelXY, and fNoVoxelY.

Referenced by GetTranslation().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4VSolid* G4PhantomParameterisation::GetContainerSolid ( ) const
inline

Referenced by G4RegularNavigation::ComputeStepSkippingEqualMaterials().

+ Here is the caller graph for this function:

G4Material * G4PhantomParameterisation::GetMaterial ( size_t  nx,
size_t  ny,
size_t  nz 
) const

Definition at line 159 of file G4PhantomParameterisation.cc.

References fMaterials, and GetMaterialIndex().

Referenced by DicomIntersectVolume::SetNewValue(), and G4EnergySplitter::SplitEnergyInVolumes().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Material * G4PhantomParameterisation::GetMaterial ( size_t  copyNo) const

Definition at line 165 of file G4PhantomParameterisation.cc.

References fMaterials, and GetMaterialIndex().

+ Here is the call graph for this function:

size_t G4PhantomParameterisation::GetMaterialIndex ( size_t  nx,
size_t  ny,
size_t  nz 
) const

Definition at line 151 of file G4PhantomParameterisation.cc.

References fNoVoxelX, and fNoVoxelXY.

Referenced by ComputeMaterial(), GetMaterial(), and DicomIntersectVolume::SetNewValue().

+ Here is the caller graph for this function:

size_t G4PhantomParameterisation::GetMaterialIndex ( size_t  copyNo) const

Definition at line 140 of file G4PhantomParameterisation.cc.

References CheckCopyNo(), and fMaterialIndices.

+ Here is the call graph for this function:

size_t* G4PhantomParameterisation::GetMaterialIndices ( ) const
inline
std::vector<G4Material*> G4PhantomParameterisation::GetMaterials ( ) const
inline

Referenced by DicomIntersectVolume::SetNewValue().

+ Here is the caller graph for this function:

size_t G4PhantomParameterisation::GetNoVoxel ( ) const
inline

Referenced by G4RegularNavigation::LevelLocate().

+ Here is the caller graph for this function:

size_t G4PhantomParameterisation::GetNoVoxelX ( ) const
inline

Referenced by G4GMocrenFileSceneHandler::AddSolid(), and DicomIntersectVolume::SetNewValue().

+ Here is the caller graph for this function:

size_t G4PhantomParameterisation::GetNoVoxelY ( ) const
inline

Referenced by G4GMocrenFileSceneHandler::AddSolid(), and DicomIntersectVolume::SetNewValue().

+ Here is the caller graph for this function:

size_t G4PhantomParameterisation::GetNoVoxelZ ( ) const
inline

Referenced by G4GMocrenFileSceneHandler::AddSolid(), and DicomIntersectVolume::SetNewValue().

+ Here is the caller graph for this function:

G4int G4PhantomParameterisation::GetReplicaNo ( const G4ThreeVector localPoint,
const G4ThreeVector localDir 
)
virtual

Reimplemented in G4PartialPhantomParameterisation.

Definition at line 231 of file G4PhantomParameterisation.cc.

References FatalErrorInArgument, fContainerSolid, fContainerWallX, fContainerWallY, fContainerWallZ, fNoVoxelX, fNoVoxelXY, fNoVoxelY, fNoVoxelZ, fVoxelHalfX, fVoxelHalfY, fVoxelHalfZ, G4endl, G4Exception(), G4VSolid::GetName(), G4VSolid::Inside(), JustWarning, kCarTolerance, and kOutside.

Referenced by G4RegularNavigation::ComputeStep(), G4RegularNavigation::ComputeStepSkippingEqualMaterials(), and G4RegularNavigation::LevelLocate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ThreeVector G4PhantomParameterisation::GetTranslation ( const G4int  copyNo) const

Definition at line 102 of file G4PhantomParameterisation.cc.

References CheckCopyNo(), ComputeVoxelIndices(), fContainerWallX, fContainerWallY, fContainerWallZ, fVoxelHalfX, fVoxelHalfY, and fVoxelHalfZ.

Referenced by G4RegularNavigation::ComputeStep(), G4RegularNavigation::ComputeStepSkippingEqualMaterials(), and ComputeTransformation().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4PhantomParameterisation::GetVoxelHalfX ( ) const
inline

Referenced by G4GMocrenFileSceneHandler::AddSolid(), and DicomIntersectVolume::SetNewValue().

+ Here is the caller graph for this function:

G4double G4PhantomParameterisation::GetVoxelHalfY ( ) const
inline

Referenced by G4GMocrenFileSceneHandler::AddSolid(), and DicomIntersectVolume::SetNewValue().

+ Here is the caller graph for this function:

G4double G4PhantomParameterisation::GetVoxelHalfZ ( ) const
inline

Referenced by G4GMocrenFileSceneHandler::AddSolid(), and DicomIntersectVolume::SetNewValue().

+ Here is the caller graph for this function:

void G4PhantomParameterisation::SetMaterialIndices ( size_t *  matInd)
inline

Referenced by DicomRegularDetectorConstruction::ConstructPhantom(), and DicomPartialDetectorConstruction::ConstructPhantom().

+ Here is the caller graph for this function:

void G4PhantomParameterisation::SetMaterials ( std::vector< G4Material * > &  mates)
inline

Referenced by DicomRegularDetectorConstruction::ConstructPhantom(), and DicomPartialDetectorConstruction::ConstructPhantom().

+ Here is the caller graph for this function:

void G4PhantomParameterisation::SetNoVoxel ( size_t  nx,
size_t  ny,
size_t  nz 
)

Referenced by DicomRegularDetectorConstruction::ConstructPhantom(), and DicomPartialDetectorConstruction::ConstructPhantom().

+ Here is the caller graph for this function:

void G4PhantomParameterisation::SetSkipEqualMaterials ( G4bool  skip)

Referenced by DicomPartialDetectorConstruction::ConstructPhantom(), and DicomPhantomParameterisationColour::DicomPhantomParameterisationColour().

+ Here is the caller graph for this function:

void G4PhantomParameterisation::SetVoxelDimensions ( G4double  halfx,
G4double  halfy,
G4double  halfz 
)

Referenced by DicomRegularDetectorConstruction::ConstructPhantom(), and DicomPartialDetectorConstruction::ConstructPhantom().

+ Here is the caller graph for this function:

G4bool G4PhantomParameterisation::SkipEqualMaterials ( ) const

Referenced by G4RegularNavigation::ComputeStepSkippingEqualMaterials().

+ Here is the caller graph for this function:

Member Data Documentation

G4bool G4PhantomParameterisation::bSkipEqualMaterials
protected

Definition at line 197 of file G4PhantomParameterisation.hh.

G4VSolid* G4PhantomParameterisation::fContainerSolid
protected
size_t* G4PhantomParameterisation::fMaterialIndices
protected
std::vector<G4Material*> G4PhantomParameterisation::fMaterials
protected
size_t G4PhantomParameterisation::fNoVoxel
protected
size_t G4PhantomParameterisation::fNoVoxelXY
protected
G4double G4PhantomParameterisation::kCarTolerance
protected

The documentation for this class was generated from the following files: