 |
Belle II Software
release-05-01-25
|
17 #include <G4VProcess.hh>
18 #include <G4FieldManager.hh>
19 #include <G4Navigator.hh>
20 #include <G4TransportationManager.hh>
21 #include <G4PropagatorInField.hh>
24 #include <G4ParticleChangeForTransport.hh>
26 #include <simulation/monopoles/G4MonopoleFieldSetup.h>
78 G4double previousStepSize,
79 G4double currentMinimumStep,
80 G4double& currentSafety,
81 G4GPILSelection* selection
94 const G4Step& stepData
107 const G4Track& track,
108 const G4Step& stepData
123 const G4Track& track,
124 G4double previousStepSize,
125 G4ForceCondition* pForceCond
237 #include <simulation/monopoles/G4MonopoleTransportationInline.h>
G4double GetThresholdImportantEnergy() const
Access fThreshold_Important_Energy.
G4bool fMomentumChanged
The particle's state after this Step, Store for DoIt.
G4bool fShortStepOptimisation
Whether to avoid calling G4Navigator for short step ( < safety) If using it, the safety estimate for ...
G4double fThreshold_Trap_Energy
Assume monopoles below this can bound to material.
G4PropagatorInField * fFieldPropagator
Propagator used to transport the particle.
void SetThresholdWarningEnergy(G4double newEnWarn)
Set fThreshold_Warning_Energy.
void EnableShortStepOptimisation(G4bool optimise=true)
Whether short steps < safety will avoid to call Navigator (if field=0)
G4int fThresholdTrials
Nubmer of trials for looping particles.
G4int fNoLooperTrials
Counter for steps in which particle reports 'looping', if it is above 'Important' Energy.
virtual G4VParticleChange * PostStepDoIt(const G4Track &track, const G4Step &stepData)
G4VProcess::PostStepDoIt() implementation.
G4double GetThresholdWarningEnergy() const
Access fThreshold_Warning_Energy.
G4TouchableHandle fCurrentTouchableHandle
Current touchable handle.
virtual G4VParticleChange * AlongStepDoIt(const G4Track &track, const G4Step &stepData)
G4VProcess::AlongStepDoIt() implementation, Proposes changes during step to fParticleChange of this c...
G4ThreeVector fTransportEndSpin
The particle's state after this Step, Store for DoIt.
G4double fCandidateEndGlobalTime
The particle's state after this Step, Store for DoIt.
~G4MonopoleTransportation()
Destructor.
G4double fPreviousSafety
Remember last safety value.
G4bool fGeometryLimitedStep
Flag to determine whether a boundary was reached.
void ResetKilledStatistics(G4int report=1)
Statistics for tracks killed (currently due to looping in field)
G4ThreeVector fTransportEndMomentumDir
The particle's state after this Step, Store for DoIt.
void SetPropagatorInField(G4PropagatorInField *pFieldPropagator)
Set fFieldPropagator, the assistant class that Propagate in a Field.
virtual G4double AtRestGetPhysicalInteractionLength(const G4Track &, G4ForceCondition *)
No operation in AtRestDoIt.
G4bool fEndGlobalTimeComputed
The particle's state after this Step, Store for DoIt.
G4double GetMaxEnergyKilled() const
Access fMaxEnergyKilled.
G4ThreeVector fPreviousSftOrigin
Remember last safety origin.
G4PropagatorInField * GetPropagatorInField()
Access fFieldPropagator, the assistant class that Propagate in a Field.
G4double fTransportEndKineticEnergy
The particle's state after this Step, Store for DoIt.
virtual G4double AlongStepGetPhysicalInteractionLength(const G4Track &track, G4double previousStepSize, G4double currentMinimumStep, G4double ¤tSafety, G4GPILSelection *selection)
G4VProcess::AlongStepGetPhysicalInteractionLength() implementation.
virtual void StartTracking(G4Track *aTrack)
Reset state for new (potentially resumed) track.
Monopole field setup singleton class, that takes care of switching between conventional particle tran...
G4MonopoleFieldSetup * fMagSetup
Monpole field setup.
Abstract base class for different kinds of events.
virtual G4double PostStepGetPhysicalInteractionLength(const G4Track &track, G4double previousStepSize, G4ForceCondition *pForceCond)
G4VProcess::PostStepGetPhysicalInteractionLength() implementation.
G4double endpointDistance
Endpint distance.
const G4Monopole * fParticleDef
Monopole definition for charge and mass reference.
G4ParticleChangeForTransport fParticleChange
New ParticleChange.
G4ThreeVector fTransportEndPosition
The particle's state after this Step, Store for DoIt.
G4double fSumEnergyKilled
Sum of abandoned looping tracks energies.
Concrete class that does the geometrical transport.
void SetThresholdTrials(G4int newMaxTrials)
Set fThresholdTrials.
G4double fThreshold_Warning_Energy
Warn above this energy about looping particle.
G4Navigator * fLinearNavigator
Propagator used to transport the particle.
G4double fThreshold_Important_Energy
Hesitate above this about looping particle for a certain no of trials.
G4bool DoesGlobalFieldExist()
Checks whether a field exists for the "global" field manager.
G4SafetyHelper * fpSafetyHelper
To pass it the safety value obtained.
G4bool fParticleIsLooping
Is the monopole stuck in looping.
virtual G4VParticleChange * AtRestDoIt(const G4Track &, const G4Step &)
No operation in AtRestDoIt.
A class to hold monopole description as a particle.
void SetThresholdImportantEnergy(G4double newEnImp)
Set fThreshold_Important_Energy.
G4double fMaxEnergyKilled
Max of abandoned looping tracks energies.
G4int GetThresholdTrials() const
Access fThresholdTrials.
G4double GetSumEnergyKilled() const
Access fSumEnergyKilled.
G4MonopoleTransportation(const G4Monopole *mpl, G4int verb=1)
Constructor.