|
Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
|
G4SafetyCalculator is a class that provides an estimate of the isotropic safety (the minimum distance from a global point to the nearest boundary of the current volume or the nearest daughter volumes). More...
#include <G4SafetyCalculator.hh>
Public Member Functions | |
| G4SafetyCalculator (const G4Navigator &navigator, const G4NavigationHistory &navHistory) | |
| G4SafetyCalculator (const G4SafetyCalculator &)=delete | |
| G4SafetyCalculator & | operator= (const G4SafetyCalculator &)=delete |
| ~G4SafetyCalculator ()=default | |
| G4double | SafetyInCurrentVolume (const G4ThreeVector &globalpoint, G4VPhysicalVolume *physicalVolume, const G4double pProposedMaxLength=DBL_MAX, G4bool verbose=false) |
| G4VExternalNavigation * | GetExternalNavigation () const |
| void | SetExternalNavigation (G4VExternalNavigation *externalNav) |
| void | CompareSafetyValues (G4double oldSafety, G4double newValue, G4VPhysicalVolume *motherPhysical, const G4ThreeVector &globalPoint, G4bool keepState, G4double maxLength, G4bool enteredVolume, G4bool exitedVolume) |
Protected Member Functions | |
| void | QuickLocateWithinVolume (const G4ThreeVector &pointLocal, G4VPhysicalVolume *motherPhysical) |
| G4ThreeVector | ComputeLocalPoint (const G4ThreeVector &rGlobPoint) const |
| G4ThreeVector | ComputeLocalAxis (const G4ThreeVector &pVec) const |
| EVolume | CharacteriseDaughters (const G4LogicalVolume *pLog) const |
| G4int | GetDaughtersRegularStructureId (const G4LogicalVolume *pLv) const |
G4SafetyCalculator is a class that provides an estimate of the isotropic safety (the minimum distance from a global point to the nearest boundary of the current volume or the nearest daughter volumes).
Definition at line 72 of file G4SafetyCalculator.hh.
| G4SafetyCalculator::G4SafetyCalculator | ( | const G4Navigator & | navigator, |
| const G4NavigationHistory & | navHistory ) |
Constructor, initialisers and setup.
Definition at line 36 of file G4SafetyCalculator.cc.
Referenced by G4SafetyCalculator(), and operator=().
|
delete |
Copy constructor & assignment operator not allowed.
|
default |
Destructor. No actions.
|
inlineprotected |
Characterises the daughter of logical volume.
Referenced by QuickLocateWithinVolume(), and SafetyInCurrentVolume().
| void G4SafetyCalculator::CompareSafetyValues | ( | G4double | oldSafety, |
| G4double | newValue, | ||
| G4VPhysicalVolume * | motherPhysical, | ||
| const G4ThreeVector & | globalPoint, | ||
| G4bool | keepState, | ||
| G4double | maxLength, | ||
| G4bool | enteredVolume, | ||
| G4bool | exitedVolume ) |
Compares estimates of the safety, and reports if found difference(s).
Definition at line 210 of file G4SafetyCalculator.cc.
|
inlineprotected |
Computes the local direction of the specified vector in the reference system of the volume that was found by LocateGlobalPointAndSetup().
| [in] | pVec | Vector in global coordinates. |
|
inlineprotected |
Computes point in local coordinates system, given a position vector in world coordinate system.
| [in] | rGlobPoint | Point in global coordinates. |
Referenced by SafetyInCurrentVolume().
|
inlineprotected |
Gets regular structure ID of first daughter.
Referenced by QuickLocateWithinVolume(), and SafetyInCurrentVolume().
| G4VExternalNavigation * G4SafetyCalculator::GetExternalNavigation | ( | ) | const |
Accessor & modifier for custom external navigation.
Definition at line 194 of file G4SafetyCalculator.cc.
|
delete |
|
protected |
Prepare state of sub-navigators by informing them of current point.
| [in] | pointLocal | Point in local coordinates. |
| [in] | motherPhysical | Pointer to current volume where to relocate in case an external custom navigator is used. |
Definition at line 152 of file G4SafetyCalculator.cc.
Referenced by SafetyInCurrentVolume().
| G4double G4SafetyCalculator::SafetyInCurrentVolume | ( | const G4ThreeVector & | globalpoint, |
| G4VPhysicalVolume * | physicalVolume, | ||
| const G4double | pProposedMaxLength = DBL_MAX, | ||
| G4bool | verbose = false ) |
Calculates the isotropic distance to the nearest boundary from the specified point in the global coordinate system.
| [in] | globalPoint | The point in global coordinates; it must be located exactly within the current volume (it also must not be in a daughter volume. |
| [in] | physicalVolume | Current volume. |
| [in] | pProposedMaxLength | The calculation will not look beyond the proposed maximum length to avoid extra volume safety calculations. |
| [in] | verbose | Flag to enable verbosity (default is false). |
Definition at line 53 of file G4SafetyCalculator.cc.
Referenced by CompareSafetyValues().
| void G4SafetyCalculator::SetExternalNavigation | ( | G4VExternalNavigation * | externalNav | ) |
Definition at line 202 of file G4SafetyCalculator.cc.