Belle II Software development
|
Concrete class that does the geometrical transport. More...
#include <G4MonopoleTransportation.h>
Public Member Functions | |
G4MonopoleTransportation (const G4Monopole *mpl, G4int verb=1) | |
Constructor. | |
~G4MonopoleTransportation () | |
Destructor. | |
virtual G4double | AlongStepGetPhysicalInteractionLength (const G4Track &track, G4double previousStepSize, G4double currentMinimumStep, G4double ¤tSafety, G4GPILSelection *selection) |
G4VProcess::AlongStepGetPhysicalInteractionLength() implementation. | |
virtual G4VParticleChange * | AlongStepDoIt (const G4Track &track, const G4Step &stepData) |
G4VProcess::AlongStepDoIt() implementation, Proposes changes during step to fParticleChange of this class. | |
virtual G4VParticleChange * | PostStepDoIt (const G4Track &track, const G4Step &stepData) |
G4VProcess::PostStepDoIt() implementation. | |
virtual G4double | PostStepGetPhysicalInteractionLength (const G4Track &track, G4double previousStepSize, G4ForceCondition *pForceCond) |
G4VProcess::PostStepGetPhysicalInteractionLength() implementation. | |
G4PropagatorInField * | GetPropagatorInField () |
Access fFieldPropagator, the assistant class that Propagate in a Field. | |
void | SetPropagatorInField (G4PropagatorInField *pFieldPropagator) |
Set fFieldPropagator, 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. | |
G4double | GetMaxEnergyKilled () const |
Access fMaxEnergyKilled. | |
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) | |
virtual G4double | AtRestGetPhysicalInteractionLength (const G4Track &, G4ForceCondition *) |
No operation in AtRestDoIt. | |
virtual G4VParticleChange * | AtRestDoIt (const G4Track &, const G4Step &) |
No operation in AtRestDoIt. | |
virtual void | StartTracking (G4Track *aTrack) |
Reset state for new (potentially resumed) track. | |
Protected Member Functions | |
G4bool | DoesGlobalFieldExist () |
Checks whether a field exists for the "global" field manager. | |
Private Attributes | |
const G4Monopole * | fParticleDef |
Monopole definition for charge and mass reference. | |
G4MonopoleFieldSetup * | fMagSetup |
Monpole field setup. | |
G4Navigator * | fLinearNavigator |
Propagator used to transport the particle. | |
G4PropagatorInField * | fFieldPropagator |
Propagator used to transport the particle. | |
G4ThreeVector | fTransportEndPosition |
The particle's state after this Step, Store for DoIt. | |
G4ThreeVector | fTransportEndMomentumDir |
The particle's state after this Step, Store for DoIt. | |
G4double | fTransportEndKineticEnergy |
The particle's state after this Step, Store for DoIt. | |
G4ThreeVector | fTransportEndSpin |
The particle's state after this Step, Store for DoIt. | |
G4bool | fMomentumChanged |
The particle's state after this Step, Store for DoIt. | |
G4bool | fEndGlobalTimeComputed |
The particle's state after this Step, Store for DoIt. | |
G4double | fCandidateEndGlobalTime |
The particle's state after this Step, Store for DoIt. | |
G4bool | fParticleIsLooping |
Is the monopole stuck in looping. | |
G4TouchableHandle | fCurrentTouchableHandle |
Current touchable handle. | |
G4bool | fGeometryLimitedStep |
Flag to determine whether a boundary was reached. | |
G4ThreeVector | fPreviousSftOrigin |
Remember last safety origin. | |
G4double | fPreviousSafety |
Remember last safety value. | |
G4ParticleChangeForTransport | fParticleChange |
New ParticleChange. | |
G4double | endpointDistance |
Endpint distance. | |
G4double | fThreshold_Trap_Energy |
Assume monopoles below this can bound to material. | |
G4double | fThreshold_Warning_Energy |
Warn above this energy about looping particle. | |
G4double | fThreshold_Important_Energy |
Hesitate above this about looping particle for a certain no of trials. | |
G4int | fThresholdTrials |
Nubmer of trials for looping particles. | |
G4int | fNoLooperTrials |
Counter for steps in which particle reports 'looping', if it is above 'Important' Energy. | |
G4double | fSumEnergyKilled |
Sum of abandoned looping tracks energies. | |
G4double | fMaxEnergyKilled |
Max 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. | |
Concrete class that does the geometrical transport.
Quite big and clunky class of the monopole transportation.
Definition at line 44 of file G4MonopoleTransportation.h.
|
explicit |
Constructor.
mpl | Reference to the monopole definition in GEANT4 |
verb | Verbosity level, if GEANT4 was set to be verbose |
Definition at line 30 of file G4MonopoleTransportation.cc.
Destructor.
Definition at line 81 of file G4MonopoleTransportation.cc.
|
virtual |
G4VProcess::AlongStepDoIt() implementation, Proposes changes during step to fParticleChange of this class.
track | Propagating particle track reference |
stepData | Current step reference |
Definition at line 345 of file G4MonopoleTransportation.cc.
|
virtual |
G4VProcess::AlongStepGetPhysicalInteractionLength() implementation.
Responsibilities: Find whether the geometry limits the Step, and to what length Calculate the new value of the safety and return it. Store the final time, position and momentum.
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 95 of file G4MonopoleTransportation.cc.
|
inlinevirtual |
No operation in AtRestDoIt.
Definition at line 163 of file G4MonopoleTransportation.h.
|
inlinevirtual |
No operation in AtRestDoIt.
Definition at line 155 of file G4MonopoleTransportation.h.
|
inlineprotected |
Checks whether a field exists for the "global" field manager.
Definition at line 35 of file G4MonopoleTransportationInline.h.
|
inline |
Whether short steps < safety will avoid to call Navigator (if field=0)
Definition at line 103 of file G4MonopoleTransportationInline.h.
|
inline |
Access fMaxEnergyKilled.
Definition at line 80 of file G4MonopoleTransportationInline.h.
|
inline |
Access fFieldPropagator, the assistant class that Propagate in a Field.
Definition at line 30 of file G4MonopoleTransportationInline.h.
|
inline |
Access fSumEnergyKilled.
Definition at line 85 of file G4MonopoleTransportationInline.h.
|
inline |
Access fThreshold_Important_Energy.
Definition at line 50 of file G4MonopoleTransportationInline.h.
|
inline |
Access fThresholdTrials.
Definition at line 55 of file G4MonopoleTransportationInline.h.
|
inline |
Access fThreshold_Warning_Energy.
Definition at line 45 of file G4MonopoleTransportationInline.h.
|
virtual |
G4VProcess::PostStepDoIt() implementation.
Proposes changes after the step to fParticleChange of this class.
Responsible for the relocation
track | Propagating particle track reference |
stepData | Current step reference |
Definition at line 484 of file G4MonopoleTransportation.cc.
|
virtual |
G4VProcess::PostStepGetPhysicalInteractionLength() implementation.
Forces the PostStepDoIt action to be called, so that it can do the relocation if it is needed, but does not limit the step.
track | This argument of base function is ignored |
previousStepSize | This argument of base function is ignored |
pForceCond | Force condition by default |
Definition at line 475 of file G4MonopoleTransportation.cc.
|
inline |
Statistics for tracks killed (currently due to looping in field)
Definition at line 90 of file G4MonopoleTransportationInline.h.
|
inline |
Set fFieldPropagator, the assistant class that Propagate in a Field.
Definition at line 25 of file G4MonopoleTransportationInline.h.
|
inline |
Set fThreshold_Important_Energy.
Definition at line 65 of file G4MonopoleTransportationInline.h.
|
inline |
Set fThresholdTrials.
Definition at line 70 of file G4MonopoleTransportationInline.h.
|
inline |
Set fThreshold_Warning_Energy.
Definition at line 60 of file G4MonopoleTransportationInline.h.
|
virtual |
Reset state for new (potentially resumed) track.
Definition at line 577 of file G4MonopoleTransportation.cc.
|
private |
Endpint distance.
Definition at line 203 of file G4MonopoleTransportation.h.
|
private |
The particle's state after this Step, Store for DoIt.
Definition at line 190 of file G4MonopoleTransportation.h.
|
private |
Current touchable handle.
Definition at line 194 of file G4MonopoleTransportation.h.
|
private |
The particle's state after this Step, Store for DoIt.
Definition at line 189 of file G4MonopoleTransportation.h.
|
private |
Propagator used to transport the particle.
Definition at line 181 of file G4MonopoleTransportation.h.
|
private |
Flag to determine whether a boundary was reached.
Definition at line 196 of file G4MonopoleTransportation.h.
|
private |
Propagator used to transport the particle.
Definition at line 180 of file G4MonopoleTransportation.h.
|
private |
Monpole field setup.
Definition at line 178 of file G4MonopoleTransportation.h.
|
private |
Max of abandoned looping tracks energies.
Definition at line 218 of file G4MonopoleTransportation.h.
|
private |
The particle's state after this Step, Store for DoIt.
Definition at line 187 of file G4MonopoleTransportation.h.
|
private |
Counter for steps in which particle reports 'looping', if it is above 'Important' Energy.
Definition at line 216 of file G4MonopoleTransportation.h.
|
private |
New ParticleChange.
Definition at line 201 of file G4MonopoleTransportation.h.
|
private |
Monopole definition for charge and mass reference.
Definition at line 176 of file G4MonopoleTransportation.h.
|
private |
Is the monopole stuck in looping.
Definition at line 192 of file G4MonopoleTransportation.h.
|
private |
Remember last safety value.
Definition at line 199 of file G4MonopoleTransportation.h.
|
private |
Remember last safety origin.
Definition at line 198 of file G4MonopoleTransportation.h.
|
private |
To pass it the safety value obtained.
Definition at line 226 of file G4MonopoleTransportation.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 224 of file G4MonopoleTransportation.h.
|
private |
Sum of abandoned looping tracks energies.
Definition at line 217 of file G4MonopoleTransportation.h.
|
private |
Hesitate above this about looping particle for a certain no of trials.
Definition at line 209 of file G4MonopoleTransportation.h.
|
private |
Assume monopoles below this can bound to material.
Definition at line 205 of file G4MonopoleTransportation.h.
|
private |
Warn above this energy about looping particle.
Definition at line 208 of file G4MonopoleTransportation.h.
|
private |
Nubmer of trials for looping particles.
Definition at line 210 of file G4MonopoleTransportation.h.
|
private |
The particle's state after this Step, Store for DoIt.
Definition at line 185 of file G4MonopoleTransportation.h.
|
private |
The particle's state after this Step, Store for DoIt.
Definition at line 184 of file G4MonopoleTransportation.h.
|
private |
The particle's state after this Step, Store for DoIt.
Definition at line 183 of file G4MonopoleTransportation.h.
|
private |
The particle's state after this Step, Store for DoIt.
Definition at line 186 of file G4MonopoleTransportation.h.