Belle II Software development
|
Concrete class that does the geometrical transport. More...
#include <G4LongLivedNeutralTransportation.h>
Public Member Functions | |
G4LongLivedNeutralTransportation (G4int verbosityLevel=1) | |
Constructor. | |
~G4LongLivedNeutralTransportation () | |
Destructor. | |
G4double | AlongStepGetPhysicalInteractionLength (const G4Track &track, G4double previousStepSize, G4double currentMinimumStep, G4double ¤tSafety, G4GPILSelection *selection) |
G4VProcess::AlongStepGetPhysicalInteractionLength() implementation,. | |
G4VParticleChange * | AlongStepDoIt (const G4Track &track, const G4Step &stepData) |
G4VProcess::AlongStepDoIt() implementation,. | |
G4VParticleChange * | PostStepDoIt (const G4Track &track, const G4Step &stepData) |
G4VProcess::PostStepDoIt() implementation,. | |
G4double | PostStepGetPhysicalInteractionLength (const G4Track &track, G4double previousStepSize, G4ForceCondition *pForceCond) |
G4VProcess::PostStepGetPhysicalInteractionLength() implementation. | |
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. | |
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. | |
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 &outStream) const |
G4LongLivedNeutralTransportation::ProcessDescription() | |
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. | |
G4bool | fLastStepInVolume = false |
Flag last step in a geom. | |
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.
Destructor.
Definition at line 83 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 |
No operation in AtRestDoIt.
Definition at line 177 of file G4LongLivedNeutralTransportation.h.
|
inline |
No operation in AtRestGPIL.
Definition at line 170 of file G4LongLivedNeutralTransportation.h.
|
inlineprotected |
Checks whether a field exists for the "global" field manager.
Definition at line 198 of file G4LongLivedNeutralTransportation.h.
|
inline |
References fFieldExertedForce.
Definition at line 109 of file G4LongLivedNeutralTransportation.h.
|
inline |
Print values of looper thresholds.
Access fMaxEnergyKilled
|
static |
Do not throw exception about 'looping' particles.
Definition at line 515 of file G4LongLivedNeutralTransportation.cc.
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 & | track, |
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.
void PrintStatistics | ( | std::ostream & | outStr | ) | const |
returns current logging info of the algorithm
Definition at line 94 of file G4LongLivedNeutralTransportation.cc.
|
virtual |
G4LongLivedNeutralTransportation::ProcessDescription()
outStream | Output file with a 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.
void SetLowLooperThresholds | ( | ) |
Shortcut method - old values (meant for HEP)
Definition at line 539 of file G4LongLivedNeutralTransportation.cc.
|
static |
Do not warn about 'looping' particles.
Definition at line 507 of file G4LongLivedNeutralTransportation.cc.
|
inline |
Set fThreshold_Important_Energy.
Definition at line 127 of file G4LongLivedNeutralTransportation.h.
|
inline |
Set fThresholdTrials.
Definition at line 131 of file G4LongLivedNeutralTransportation.h.
|
inline |
Set fThreshold_Warning_Energy.
Definition at line 123 of file G4LongLivedNeutralTransportation.h.
void StartTracking | ( | G4Track * | aTrack | ) |
Reset state for new (potentially resumed) track.
Definition at line 453 of file G4LongLivedNeutralTransportation.cc.
|
friend |
Definition at line 265 of file G4LongLivedNeutralTransportation.h.
|
private |
Number of trials after which to abandon.
Definition at line 246 of file G4LongLivedNeutralTransportation.h.
|
private |
Flag for existing fields.
Definition at line 221 of file G4LongLivedNeutralTransportation.h.
|
private |
The particle's state after this Step, Store for DoIt.
Definition at line 219 of file G4LongLivedNeutralTransportation.h.
|
private |
Current touchable handle.
Definition at line 230 of file G4LongLivedNeutralTransportation.h.
|
private |
The particle's state after this Step, Store for DoIt.
Definition at line 218 of file G4LongLivedNeutralTransportation.h.
|
private |
Endpoint distance.
Definition at line 237 of file G4LongLivedNeutralTransportation.h.
|
private |
During current step.
Definition at line 228 of file G4LongLivedNeutralTransportation.h.
|
private |
Propagator used to transport the particle.
Definition at line 211 of file G4LongLivedNeutralTransportation.h.
|
private |
Flag first step in a geom.
volume
Definition at line 224 of file G4LongLivedNeutralTransportation.h.
|
private |
Flag to determine whether a boundary was reached.
Definition at line 226 of file G4LongLivedNeutralTransportation.h.
|
private |
|
private |
Propagator used to transport the particle.
Definition at line 210 of file G4LongLivedNeutralTransportation.h.
|
private |
The particle's state after this Step, Store for DoIt.
Definition at line 217 of file G4LongLivedNeutralTransportation.h.
|
private |
Flag from StartTracking.
Definition at line 223 of file G4LongLivedNeutralTransportation.h.
|
private |
Counter for steps in which particle reports 'looping', if it is above 'Important' Energy.
Definition at line 250 of file G4LongLivedNeutralTransportation.h.
|
private |
New ParticleChange.
Definition at line 235 of file G4LongLivedNeutralTransportation.h.
|
private |
Remember last safety value.
Definition at line 233 of file G4LongLivedNeutralTransportation.h.
|
private |
Remember last safety origin.
Definition at line 232 of file G4LongLivedNeutralTransportation.h.
|
private |
To pass it the safety value obtained.
Definition at line 261 of file G4LongLivedNeutralTransportation.h.
|
private |
Whether to avoid calling G4Navigator for short step ( < safety) If using it, the safety estimate for endpoint will likely be smaller.
Definition at line 259 of file G4LongLivedNeutralTransportation.h.
|
staticprivate |
Flag to Supress all 'looper' warnings.
Definition at line 268 of file G4LongLivedNeutralTransportation.h.
|
private |
Sum of abandoned looping tracks energies.
Definition at line 254 of file G4LongLivedNeutralTransportation.h.
|
private |
Give a few trial above this E for looping particle.
Definition at line 242 of file G4LongLivedNeutralTransportation.h.
|
private |
Warn above this energy about looping particle.
Definition at line 241 of file G4LongLivedNeutralTransportation.h.
|
private |
Number of trials an important looper survives.
Definition at line 243 of file G4LongLivedNeutralTransportation.h.
|
private |
The particle's state after this Step, Store for DoIt.
Definition at line 215 of file G4LongLivedNeutralTransportation.h.
|
private |
The particle's state after this Step, Store for DoIt.
Definition at line 214 of file G4LongLivedNeutralTransportation.h.
|
private |
The particle's state after this Step, Store for DoIt.
Definition at line 213 of file G4LongLivedNeutralTransportation.h.
|
private |
The particle's state after this Step, Store for DoIt.
Definition at line 216 of file G4LongLivedNeutralTransportation.h.
|
staticprivate |
Flag take into account gravity.
Definition at line 267 of file G4LongLivedNeutralTransportation.h.
|
staticprivate |
Flag take into account magnetic moment.
Definition at line 266 of file G4LongLivedNeutralTransportation.h.