46#ifndef G4CoupledTransportation_hh
47#define G4CoupledTransportation_hh 1
G4PropagatorInField * GetPropagatorInField()
G4bool IsLastStepInMassVolume() const
unsigned long fNumLoopersKilled_NonElectron
G4double fMaxEnergyKilled_NonElectron
G4double fSumEnergyKilled
static void SetSignifyStepsInAnyVolume(G4bool anyVol)
G4ThreeVector fTransportEndSpin
G4double fSumEnergyKilled_NonElectron
void SetLowLooperThresholds()
G4double fPreviousFullSafety
G4bool IsLastStepInAnyVolume() const
void PushThresholdsToLogger()
G4Navigator * fMassNavigator
static G4bool GetSilenceLooperWarnings()
G4double AtRestGetPhysicalInteractionLength(const G4Track &, G4ForceCondition *)
static G4bool fSilenceLooperWarnings
static G4bool GetSignifyStepsInAnyVolume()
static G4bool EnableUseMagneticMoment(G4bool useMoment=true)
void ReportLooperThresholds()
void SetHighLooperThresholds()
G4VParticleChange * AlongStepDoIt(const G4Track &track, const G4Step &stepData)
G4VParticleChange * PostStepDoIt(const G4Track &track, const G4Step &stepData)
G4bool fFirstStepInAnyVolume
G4double GetMaxEnergyKilled() const
G4double fSumEnerSqKilled
G4double GetThresholdImportantEnergy() const
void ResetKilledStatistics(G4int report=1)
G4double fSumEnerSqKilled_NonElectron
void SetThresholdTrials(G4int newMaxTrials)
G4TransportationLogger * fpLogger
static G4bool EnableGravity(G4bool useGravity)
static G4bool fSignifyStepInAnyVolume
G4bool fAnyGeometryLimitedStep
G4double fTransportEndKineticEnergy
G4int GetThresholdTrials() const
G4double fMaxEnergyKilled
G4bool fFirstStepInMassVolume
void ReportMove(G4ThreeVector OldVector, G4ThreeVector NewVector, const G4String &Quantity)
G4double fCandidateEndGlobalTime
static void SetSilenceLooperWarnings(G4bool val)
void ReportInexactEnergy(G4double startEnergy, G4double endEnergy)
static G4bool EnableMagneticMoment(G4bool useMoment=true)
G4double fSumEnergyUnstableSaved
G4bool fParticleIsLooping
G4double GetSumEnergyKilled() const
G4SafetyHelper * fpSafetyHelper
void PrintStatistics(std::ostream &outStr) const
G4double GetThresholdWarningEnergy() const
G4bool fMassGeometryLimitedStep
G4int fMaxEnergyKilledPDG
G4TouchableHandle fCurrentTouchableHandle
G4double fEndpointDistance
G4int fMaxEnergyKilled_NonElecPDG
void SetPropagatorInField(G4PropagatorInField *pFieldPropagator)
G4ThreeVector fTransportEndMomentumDir
unsigned long fNumLoopersKilled
G4ThreeVector fTransportEndPosition
G4CoupledTransportation(G4int verbosityLevel=0)
G4bool DoesAnyFieldExist()
G4VParticleChange * AtRestDoIt(const G4Track &, const G4Step &)
G4ThreeVector fPreviousSftOrigin
G4double PostStepGetPhysicalInteractionLength(const G4Track &, G4double previousStepSize, G4ForceCondition *pForceCond)
G4double fPreviousMassSafety
static G4bool fUseGravity
G4bool IsFirstStepInMassVolume() const
static G4bool fUseMagneticMoment
G4bool fEndGlobalTimeComputed
G4PropagatorInField * fFieldPropagator
void SetThresholdImportantEnergy(G4double newEnImp)
G4double fThreshold_Important_Energy
void SetThresholdWarningEnergy(G4double newEnWarn)
void StartTracking(G4Track *aTrack)
G4bool IsFirstStepInAnyVolume() const
G4double AlongStepGetPhysicalInteractionLength(const G4Track &track, G4double previousStepSize, G4double currentMinimumStep, G4double ¤tSafety, G4GPILSelection *selection)
~G4CoupledTransportation()
G4double fThreshold_Warning_Energy
void ReportMissingLogger(const char *methodName)
G4PathFinder * fPathFinder
G4ParticleChangeForTransport fParticleChange
static constexpr double keV
static constexpr double MeV
G4ThreadLocal G4int verbosityLevel