ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4PhantomParameterisation Class Reference

#include <geant4/tree/geant4-10.6-release/source/geometry/navigation/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=nullptr)
 
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 = 0.0
 
G4double fVoxelHalfY = 0.0
 
G4double fVoxelHalfZ = 0.0
 
size_t fNoVoxelX = 0
 
size_t fNoVoxelY = 0
 
size_t fNoVoxelZ = 0
 
size_t fNoVoxelXY = 0
 
size_t fNoVoxel = 0
 
std::vector< G4Material * > fMaterials
 
size_t * fMaterialIndices = nullptr
 
G4VSolidfContainerSolid = nullptr
 
G4double fContainerWallX =0.0
 
G4double fContainerWallY =0.0
 
G4double fContainerWallZ =0.0
 
G4double kCarTolerance
 
G4bool bSkipEqualMaterials = true
 

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 68 of file G4PhantomParameterisation.hh.

View newest version in sPHENIX GitHub at line 68 of file G4PhantomParameterisation.hh

Constructor & Destructor Documentation

G4PhantomParameterisation::G4PhantomParameterisation ( )

Definition at line 42 of file G4PhantomParameterisation.cc.

View newest version in sPHENIX GitHub at line 42 of file G4PhantomParameterisation.cc

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

+ Here is the call graph for this function:

G4PhantomParameterisation::~G4PhantomParameterisation ( )

Definition at line 49 of file G4PhantomParameterisation.cc.

View newest version in sPHENIX GitHub at line 49 of file G4PhantomParameterisation.cc

Member Function Documentation

void G4PhantomParameterisation::BuildContainerSolid ( G4VPhysicalVolume pPhysicalVol)

Definition at line 56 of file G4PhantomParameterisation.cc.

View newest version in sPHENIX GitHub at line 56 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)

Definition at line 68 of file G4PhantomParameterisation.cc.

View newest version in sPHENIX GitHub at line 68 of file G4PhantomParameterisation.cc

References fContainerSolid, fContainerWallX, fContainerWallY, fContainerWallZ, fNoVoxelX, fNoVoxelY, fNoVoxelZ, fVoxelHalfX, fVoxelHalfY, and fVoxelHalfZ.

void G4PhantomParameterisation::CheckCopyNo ( const G4int  copyNo) const
private

Definition at line 380 of file G4PhantomParameterisation.cc.

View newest version in sPHENIX GitHub at line 380 of file G4PhantomParameterisation.cc

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

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 176 of file G4PhantomParameterisation.cc.

View newest version in sPHENIX GitHub at line 176 of file G4PhantomParameterisation.cc

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

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 84 of file G4PhantomParameterisation.hh.

View newest version in sPHENIX GitHub at line 84 of file G4PhantomParameterisation.hh

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

Reimplemented from G4VPVParameterisation.

Definition at line 86 of file G4PhantomParameterisation.hh.

View newest version in sPHENIX GitHub at line 86 of file G4PhantomParameterisation.hh

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

Reimplemented from G4VPVParameterisation.

Definition at line 88 of file G4PhantomParameterisation.hh.

View newest version in sPHENIX GitHub at line 88 of file G4PhantomParameterisation.hh

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

Reimplemented from G4VPVParameterisation.

Definition at line 90 of file G4PhantomParameterisation.hh.

View newest version in sPHENIX GitHub at line 90 of file G4PhantomParameterisation.hh

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

Reimplemented from G4VPVParameterisation.

Definition at line 92 of file G4PhantomParameterisation.hh.

View newest version in sPHENIX GitHub at line 92 of file G4PhantomParameterisation.hh

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

Reimplemented from G4VPVParameterisation.

Definition at line 94 of file G4PhantomParameterisation.hh.

View newest version in sPHENIX GitHub at line 94 of file G4PhantomParameterisation.hh

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

Reimplemented from G4VPVParameterisation.

Definition at line 96 of file G4PhantomParameterisation.hh.

View newest version in sPHENIX GitHub at line 96 of file G4PhantomParameterisation.hh

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

Reimplemented from G4VPVParameterisation.

Definition at line 98 of file G4PhantomParameterisation.hh.

View newest version in sPHENIX GitHub at line 98 of file G4PhantomParameterisation.hh

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

Reimplemented from G4VPVParameterisation.

Definition at line 100 of file G4PhantomParameterisation.hh.

View newest version in sPHENIX GitHub at line 100 of file G4PhantomParameterisation.hh

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

Reimplemented from G4VPVParameterisation.

Definition at line 102 of file G4PhantomParameterisation.hh.

View newest version in sPHENIX GitHub at line 102 of file G4PhantomParameterisation.hh

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

Reimplemented from G4VPVParameterisation.

Definition at line 104 of file G4PhantomParameterisation.hh.

View newest version in sPHENIX GitHub at line 104 of file G4PhantomParameterisation.hh

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

Reimplemented from G4VPVParameterisation.

Definition at line 106 of file G4PhantomParameterisation.hh.

View newest version in sPHENIX GitHub at line 106 of file G4PhantomParameterisation.hh

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

Reimplemented from G4VPVParameterisation.

Definition at line 108 of file G4PhantomParameterisation.hh.

View newest version in sPHENIX GitHub at line 108 of file G4PhantomParameterisation.hh

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

Reimplemented from G4VPVParameterisation.

Reimplemented in G4PartialPhantomParameterisation, and DicomPhantomParameterisationColour.

Definition at line 120 of file G4PhantomParameterisation.cc.

View newest version in sPHENIX GitHub at line 120 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 112 of file G4PhantomParameterisation.cc.

View newest version in sPHENIX GitHub at line 112 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 81 of file G4PhantomParameterisation.cc.

View newest version in sPHENIX GitHub at line 81 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 164 of file G4PhantomParameterisation.cc.

View newest version in sPHENIX GitHub at line 164 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 151 of file G4PhantomParameterisation.cc.

View newest version in sPHENIX GitHub at line 151 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 157 of file G4PhantomParameterisation.cc.

View newest version in sPHENIX GitHub at line 157 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 142 of file G4PhantomParameterisation.cc.

View newest version in sPHENIX GitHub at line 142 of file G4PhantomParameterisation.cc

References fNoVoxelX, and fNoVoxelXY.

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

+ Here is the caller graph for this function:

size_t G4PhantomParameterisation::GetMaterialIndex ( size_t  copyNo) const

Definition at line 131 of file G4PhantomParameterisation.cc.

View newest version in sPHENIX GitHub at line 131 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 223 of file G4PhantomParameterisation.cc.

View newest version in sPHENIX GitHub at line 223 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, kOutside, message(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().

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 93 of file G4PhantomParameterisation.cc.

View newest version in sPHENIX GitHub at line 93 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 = true
protected

Definition at line 192 of file G4PhantomParameterisation.hh.

View newest version in sPHENIX GitHub at line 192 of file G4PhantomParameterisation.hh

G4VSolid* G4PhantomParameterisation::fContainerSolid = nullptr
protected

Definition at line 182 of file G4PhantomParameterisation.hh.

View newest version in sPHENIX GitHub at line 182 of file G4PhantomParameterisation.hh

Referenced by BuildContainerSolid(), CheckVoxelsFillContainer(), and GetReplicaNo().

size_t* G4PhantomParameterisation::fMaterialIndices = nullptr
protected

Definition at line 179 of file G4PhantomParameterisation.hh.

View newest version in sPHENIX GitHub at line 179 of file G4PhantomParameterisation.hh

Referenced by G4PartialPhantomParameterisation::GetMaterialIndex(), and GetMaterialIndex().

std::vector<G4Material*> G4PhantomParameterisation::fMaterials
protected
size_t G4PhantomParameterisation::fNoVoxel = 0
protected

Definition at line 174 of file G4PhantomParameterisation.hh.

View newest version in sPHENIX GitHub at line 174 of file G4PhantomParameterisation.hh

Referenced by G4PartialPhantomParameterisation::CheckCopyNo(), and CheckCopyNo().

size_t G4PhantomParameterisation::fNoVoxelXY = 0
protected

Definition at line 172 of file G4PhantomParameterisation.hh.

View newest version in sPHENIX GitHub at line 172 of file G4PhantomParameterisation.hh

Referenced by ComputeVoxelIndices(), G4PartialPhantomParameterisation::GetMaterialIndex(), GetMaterialIndex(), and GetReplicaNo().

size_t G4PhantomParameterisation::fNoVoxelZ = 0
protected
G4double G4PhantomParameterisation::kCarTolerance
protected

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