|
Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
|
G4PartialPhantomParameterisation describes partial regular parameterisations, i.e. the voxels do not completely fill the container in the three dimensions. More...
#include <G4PartialPhantomParameterisation.hh>
Public Member Functions | |
| G4PartialPhantomParameterisation ()=default | |
| ~G4PartialPhantomParameterisation () override=default | |
| void | ComputeTransformation (const G4int, G4VPhysicalVolume *) const override |
| G4Material * | ComputeMaterial (const G4int repNo, G4VPhysicalVolume *currentVol, const G4VTouchable *parentTouch=nullptr) override |
| G4int | GetReplicaNo (const G4ThreeVector &localPoint, const G4ThreeVector &localDir) override |
| G4ThreeVector | GetTranslation (const G4int copyNo) const |
| std::size_t | GetMaterialIndex (std::size_t nx, std::size_t ny, std::size_t nz) const |
| std::size_t | GetMaterialIndex (std::size_t copyNo) const |
| G4Material * | GetMaterial (std::size_t nx, std::size_t ny, std::size_t nz) const |
| G4Material * | GetMaterial (std::size_t copyNo) const |
| void | SetFilledIDs (std::multimap< G4int, G4int > fid) |
| void | SetFilledMins (std::map< G4int, std::map< G4int, G4int > > fmins) |
| void | BuildContainerWalls () |
| Public Member Functions inherited from G4PhantomParameterisation | |
| G4PhantomParameterisation () | |
| ~G4PhantomParameterisation () override | |
| void | ComputeTransformation (const G4int, G4VPhysicalVolume *) const override |
| G4VSolid * | ComputeSolid (const G4int, G4VPhysicalVolume *) override |
| G4Material * | ComputeMaterial (const G4int repNo, G4VPhysicalVolume *currentVol, const G4VTouchable *parentTouch=nullptr) override |
| void | ComputeDimensions (G4Box &, const G4int, const G4VPhysicalVolume *) const override |
| void | ComputeDimensions (G4Tubs &, const G4int, const G4VPhysicalVolume *) const override |
| void | ComputeDimensions (G4Trd &, const G4int, const G4VPhysicalVolume *) const override |
| void | ComputeDimensions (G4Trap &, const G4int, const G4VPhysicalVolume *) const override |
| void | ComputeDimensions (G4Cons &, const G4int, const G4VPhysicalVolume *) const override |
| void | ComputeDimensions (G4Orb &, const G4int, const G4VPhysicalVolume *) const override |
| void | ComputeDimensions (G4Sphere &, const G4int, const G4VPhysicalVolume *) const override |
| void | ComputeDimensions (G4Ellipsoid &, const G4int, const G4VPhysicalVolume *) const override |
| void | ComputeDimensions (G4Torus &, const G4int, const G4VPhysicalVolume *) const override |
| void | ComputeDimensions (G4Para &, const G4int, const G4VPhysicalVolume *) const override |
| void | ComputeDimensions (G4Hype &, const G4int, const G4VPhysicalVolume *) const override |
| void | ComputeDimensions (G4Polycone &, const G4int, const G4VPhysicalVolume *) const override |
| void | ComputeDimensions (G4Polyhedra &, const G4int, const G4VPhysicalVolume *) const override |
| void | BuildContainerSolid (G4VPhysicalVolume *pPhysicalVol) |
| void | BuildContainerSolid (G4VSolid *pMotherSolid) |
| void | SetMaterials (std::vector< G4Material * > &mates) |
| void | SetMaterialIndices (std::size_t *matInd) |
| void | SetVoxelDimensions (G4double halfx, G4double halfy, G4double halfz) |
| void | SetNoVoxels (std::size_t nx, std::size_t ny, std::size_t nz) |
| G4double | GetVoxelHalfX () const |
| G4double | GetVoxelHalfY () const |
| G4double | GetVoxelHalfZ () const |
| std::size_t | GetNoVoxelsX () const |
| std::size_t | GetNoVoxelsY () const |
| std::size_t | GetNoVoxelsZ () const |
| std::size_t | GetNoVoxels () const |
| std::vector< G4Material * > | GetMaterials () const |
| std::size_t * | GetMaterialIndices () const |
| G4VSolid * | GetContainerSolid () const |
| G4ThreeVector | GetTranslation (const G4int copyNo) const |
| G4bool | SkipEqualMaterials () const |
| void | SetSkipEqualMaterials (G4bool skip) |
| std::size_t | GetMaterialIndex (std::size_t nx, std::size_t ny, std::size_t nz) const |
| std::size_t | GetMaterialIndex (std::size_t copyNo) const |
| G4Material * | GetMaterial (std::size_t nx, std::size_t ny, std::size_t nz) const |
| G4Material * | GetMaterial (std::size_t copyNo) const |
| void | CheckVoxelsFillContainer (G4double contX, G4double contY, G4double contZ) const |
| Public Member Functions inherited from G4VPVParameterisation | |
| G4VPVParameterisation ()=default | |
| virtual | ~G4VPVParameterisation ()=default |
| virtual G4bool | IsNested () const |
| virtual G4VVolumeMaterialScanner * | GetMaterialScanner () |
Additional Inherited Members | |
| Protected Attributes inherited from G4PhantomParameterisation | |
| G4double | fVoxelHalfX = 0.0 |
| G4double | fVoxelHalfY = 0.0 |
| G4double | fVoxelHalfZ = 0.0 |
| std::size_t | fNoVoxelsX = 0 |
| std::size_t | fNoVoxelsY = 0 |
| std::size_t | fNoVoxelsZ = 0 |
| std::size_t | fNoVoxelsXY = 0 |
| std::size_t | fNoVoxels = 0 |
| std::vector< G4Material * > | fMaterials |
| std::size_t * | fMaterialIndices = nullptr |
| G4VSolid * | fContainerSolid = nullptr |
| G4double | fContainerWallX =0.0 |
| G4double | fContainerWallY =0.0 |
| G4double | fContainerWallZ =0.0 |
| G4double | kCarTolerance |
| G4bool | bSkipEqualMaterials = true |
G4PartialPhantomParameterisation describes partial regular parameterisations, i.e. the voxels do not completely fill the container in the three dimensions.
Definition at line 58 of file G4PartialPhantomParameterisation.hh.
|
default |
Default Constructor and Destructor.
|
overridedefault |
| void G4PartialPhantomParameterisation::BuildContainerWalls | ( | ) |
Definition at line 322 of file G4PartialPhantomParameterisation.cc.
|
overridevirtual |
Computes the material for the 'currentVol' and replica number 'repNo'. Must cope with 'parentTouch' for navigator's SetupHierarchy() when used for nested parameterisations.
| [in] | currentVol | Pointer to the current physical volume. |
| [in] | repNo | The copy number index. |
| [in] | parentTouch | Pointer to the touchable of the parent volume. |
Reimplemented from G4VPVParameterisation.
Definition at line 71 of file G4PartialPhantomParameterisation.cc.
|
overridevirtual |
Computes the transformation for the 'pv' volume and replica number 'no'. It is a required method, as it is the reason for this class.
| [in] | pv | Pointer to the current physical volume. |
| [in] | no | The copy number index. |
Implements G4VPVParameterisation.
Definition at line 44 of file G4PartialPhantomParameterisation.cc.
| G4Material * G4PartialPhantomParameterisation::GetMaterial | ( | std::size_t | copyNo | ) | const |
Definition at line 111 of file G4PartialPhantomParameterisation.cc.
| G4Material * G4PartialPhantomParameterisation::GetMaterial | ( | std::size_t | nx, |
| std::size_t | ny, | ||
| std::size_t | nz ) const |
Definition at line 103 of file G4PartialPhantomParameterisation.cc.
| size_t G4PartialPhantomParameterisation::GetMaterialIndex | ( | std::size_t | copyNo | ) | const |
Definition at line 82 of file G4PartialPhantomParameterisation.cc.
| size_t G4PartialPhantomParameterisation::GetMaterialIndex | ( | std::size_t | nx, |
| std::size_t | ny, | ||
| std::size_t | nz ) const |
Definition at line 94 of file G4PartialPhantomParameterisation.cc.
Referenced by ComputeMaterial(), GetMaterial(), GetMaterial(), and GetMaterialIndex().
|
overridevirtual |
Gets the voxel number corresponding to the point in the container frame. Use 'localDir' to avoid precision problems at the surfaces.
| [in] | localPoint | Point in local coordinates system. |
| [in] | localDir | Local direction to overcome precision issues. |
Reimplemented from G4PhantomParameterisation.
Definition at line 147 of file G4PartialPhantomParameterisation.cc.
| G4ThreeVector G4PartialPhantomParameterisation::GetTranslation | ( | const G4int | copyNo | ) | const |
Definition at line 55 of file G4PartialPhantomParameterisation.cc.
Referenced by ComputeTransformation().
Definition at line 92 of file G4PartialPhantomParameterisation.hh.
|
inline |
Definition at line 97 of file G4PartialPhantomParameterisation.hh.