Belle II Software
release-08-01-10
|
Concrete class that does the geometrical transport. More...
#include <G4LongLivedNeutralTransportation.h>
Public Member Functions | |
G4LongLivedNeutralTransportation (G4int verbosityLevel=1) | |
Constructor. More... | |
~G4LongLivedNeutralTransportation () | |
Destructor. | |
G4double | AlongStepGetPhysicalInteractionLength (const G4Track &track, G4double previousStepSize, G4double currentMinimumStep, G4double ¤tSafety, G4GPILSelection *selection) |
G4VProcess::AlongStepGetPhysicalInteractionLength() implementation,. More... | |
G4VParticleChange * | AlongStepDoIt (const G4Track &track, const G4Step &stepData) |
G4VProcess::AlongStepDoIt() implementation,. More... | |
G4VParticleChange * | PostStepDoIt (const G4Track &track, const G4Step &stepData) |
G4VProcess::PostStepDoIt() implementation,. More... | |
G4double | PostStepGetPhysicalInteractionLength (const G4Track &, G4double previousStepSize, G4ForceCondition *pForceCond) |
G4VProcess::PostStepGetPhysicalInteractionLength() implementation. More... | |
G4bool | FieldExertedForce () |
References fFieldExertedForce. | |
G4PropagatorInField * | GetPropagatorInField () |
Access fFieldPropagator, the assistant class that Propagate in a Field. | |
void | SetPropagatorInField (G4PropagatorInField *pFieldPropagator) |
Access/set the assistant class that Propagate in a Field. | |
G4double | GetThresholdWarningEnergy () const |
Access fThreshold_Warning_Energy. | |
G4double | GetThresholdImportantEnergy () const |
Access fThreshold_Important_Energy. | |
G4int | GetThresholdTrials () const |
Access fThresholdTrials. | |
void | SetThresholdWarningEnergy (G4double newEnWarn) |
Set fThreshold_Warning_Energy. | |
void | SetThresholdImportantEnergy (G4double newEnImp) |
Set fThreshold_Important_Energy. | |
void | SetThresholdTrials (G4int newMaxTrials) |
Set fThresholdTrials. | |
void | SetHighLooperThresholds () |
Get/Set parameters for killing loopers: Above 'important' energy a 'looping' particle in field will NOT be abandoned, except after fThresholdTrials attempts. More... | |
void | SetLowLooperThresholds () |
Shortcut method - old values (meant for HEP) | |
void | ReportLooperThresholds () |
Set low thresholds - for low-E applications. | |
G4double | GetMaxEnergyKilled () const |
Print values of looper thresholds. More... | |
G4double | GetSumEnergyKilled () const |
Access fSumEnergyKilled. | |
void | ResetKilledStatistics (G4int report=1) |
Statistics for tracks killed (currently due to looping in field) | |
void | EnableShortStepOptimisation (G4bool optimise=true) |
Whether short steps < safety will avoid to call Navigator (if field=0) | |
G4double | AtRestGetPhysicalInteractionLength (const G4Track &, G4ForceCondition *) |
No operation in AtRestGPIL. | |
G4VParticleChange * | AtRestDoIt (const G4Track &, const G4Step &) |
No operation in AtRestDoIt. | |
void | StartTracking (G4Track *aTrack) |
Reset state for new (potentially resumed) track. | |
virtual void | ProcessDescription (std::ostream &outFile) const |
G4LongLivedNeutralTransportation::ProcessDescription() More... | |
void | PrintStatistics (std::ostream &outStr) const |
returns current logging info of the algorithm | |
Static Public Member Functions | |
static void | SetSilenceLooperWarnings (G4bool val) |
Do not warn about 'looping' particles. | |
static G4bool | GetSilenceLooperWarnings () |
Do not throw exception about 'looping' particles. | |
Protected Member Functions | |
G4bool | DoesGlobalFieldExist () |
Checks whether a field exists for the "global" field manager. | |
Private Attributes | |
G4Navigator * | fLinearNavigator |
Propagator used to transport the particle. | |
G4PropagatorInField * | fFieldPropagator |
Propagator used to transport the particle. | |
G4ThreeVector | fTransportEndPosition = G4ThreeVector(0.0, 0.0, 0.0) |
The particle's state after this Step, Store for DoIt. | |
G4ThreeVector | fTransportEndMomentumDir = G4ThreeVector(0.0, 0.0, 0.0) |
The particle's state after this Step, Store for DoIt. | |
G4double | fTransportEndKineticEnergy = 0.0 |
The particle's state after this Step, Store for DoIt. | |
G4ThreeVector | fTransportEndSpin = G4ThreeVector(0.0, 0.0, 0.0) |
The particle's state after this Step, Store for DoIt. | |
G4bool | fMomentumChanged = true |
The particle's state after this Step, Store for DoIt. | |
G4bool | fEndGlobalTimeComputed = false |
The particle's state after this Step, Store for DoIt. | |
G4double | fCandidateEndGlobalTime = 0.0 |
The particle's state after this Step, Store for DoIt. | |
G4bool | fAnyFieldExists = false |
Flag for existing fields. | |
G4bool | fNewTrack = true |
Flag from StartTracking. | |
G4bool | fFirstStepInVolume = true |
Flag first step in a geom. More... | |
G4bool | fLastStepInVolume = false |
Flag last step in a geom. More... | |
G4bool | fGeometryLimitedStep = true |
Flag to determine whether a boundary was reached. | |
G4bool | fFieldExertedForce = false |
During current step. | |
G4TouchableHandle | fCurrentTouchableHandle |
Current touchable handle. | |
G4ThreeVector | fPreviousSftOrigin |
Remember last safety origin. | |
G4double | fPreviousSafety |
Remember last safety value. | |
G4ParticleChangeForTransport | fParticleChange |
New ParticleChange. | |
G4double | fEndPointDistance |
Endpoint distance. | |
G4double | fThreshold_Warning_Energy = 1.0 * CLHEP::keV |
Warn above this energy about looping particle. | |
G4double | fThreshold_Important_Energy = 1.0 * CLHEP::MeV |
Give a few trial above this E for looping particle. | |
G4int | fThresholdTrials = 10 |
Number of trials an important looper survives. | |
G4int | fAbandonUnstableTrials = 0 |
Number of trials after which to abandon. | |
G4int | fNoLooperTrials = 0 |
Counter for steps in which particle reports 'looping', if it is above 'Important' Energy. | |
G4double | fSumEnergyKilled = 0.0 |
Sum of abandoned looping tracks energies. | |
G4bool | fShortStepOptimisation |
Whether to avoid calling G4Navigator for short step ( < safety) If using it, the safety estimate for endpoint will likely be smaller. | |
G4SafetyHelper * | fpSafetyHelper |
To pass it the safety value obtained. | |
Static Private Attributes | |
static G4bool | fUseMagneticMoment |
Flag take into account magnetic moment. | |
static G4bool | fUseGravity |
Flag take into account gravity. | |
static G4bool | fSilenceLooperWarnings = false |
Flag to Supress all 'looper' warnings. | |
Friends | |
class | G4CoupledTransportation |
Concrete class that does the geometrical transport.
Definition at line 36 of file G4LongLivedNeutralTransportation.h.
G4LongLivedNeutralTransportation | ( | G4int | verbosityLevel = 1 | ) |
Constructor.
verbosityLevel |
Definition at line 33 of file G4LongLivedNeutralTransportation.cc.
G4VParticleChange * AlongStepDoIt | ( | const G4Track & | track, |
const G4Step & | stepData | ||
) |
G4VProcess::AlongStepDoIt() implementation,.
track | Propagating particle track reference |
stepData | Current step reference |
Definition at line 259 of file G4LongLivedNeutralTransportation.cc.
G4double AlongStepGetPhysicalInteractionLength | ( | const G4Track & | track, |
G4double | previousStepSize, | ||
G4double | currentMinimumStep, | ||
G4double & | currentSafety, | ||
G4GPILSelection * | selection | ||
) |
G4VProcess::AlongStepGetPhysicalInteractionLength() implementation,.
track | Propagating particle track reference |
previousStepSize | This argument of base function is ignored |
currentMinimumStep | Current minimum step size |
currentSafety | Reference to current step safety |
selection | Pointer for return value of GPILSelection, which is set to default value of CandidateForSelection |
Definition at line 108 of file G4LongLivedNeutralTransportation.cc.
|
inline |
Print values of looper thresholds.
Access fMaxEnergyKilled
G4VParticleChange * PostStepDoIt | ( | const G4Track & | track, |
const G4Step & | stepData | ||
) |
G4VProcess::PostStepDoIt() implementation,.
track | |
stepData |
Definition at line 346 of file G4LongLivedNeutralTransportation.cc.
G4double PostStepGetPhysicalInteractionLength | ( | const G4Track & | , |
G4double | previousStepSize, | ||
G4ForceCondition * | pForceCond | ||
) |
G4VProcess::PostStepGetPhysicalInteractionLength() implementation.
track | This argument of base function is ignored |
previousStepSize | This argument of base function is ignored |
pForceCond | Force condition by default |
Forces the PostStepDoIt action to be called, but does not limit the step
Definition at line 333 of file G4LongLivedNeutralTransportation.cc.
|
virtual |
G4LongLivedNeutralTransportation::ProcessDescription()
@outfile Description of process
Definition at line 558 of file G4LongLivedNeutralTransportation.cc.
void SetHighLooperThresholds | ( | ) |
Get/Set parameters for killing loopers: Above 'important' energy a 'looping' particle in field will NOT be abandoned, except after fThresholdTrials attempts.
Below Warning energy, no verbosity for looping particles is issued
Definition at line 523 of file G4LongLivedNeutralTransportation.cc.
|
private |
Flag first step in a geom.
volume
Definition at line 224 of file G4LongLivedNeutralTransportation.h.
|
private |