46#ifndef G4CoupledTransportation_hh
47#define G4CoupledTransportation_hh 1
139 { fSignifyStepInAnyVolume = anyVol; }
141 {
return fSignifyStepInAnyVolume; }
204 G4double fTransportEndKineticEnergy;
209 G4bool fEndGlobalTimeComputed;
212 G4bool fParticleIsLooping;
225 G4bool fMassGeometryLimitedStep;
227 G4bool fAnyGeometryLimitedStep;
238 G4double fThreshold_Warning_Energy = 1.0 * CLHEP::keV;
239 G4double fThreshold_Important_Energy = 1.0 * CLHEP::MeV;
240 G4int fThresholdTrials = 10;
247 G4int fNoLooperTrials=0;
254 G4int fMaxEnergyKilledPDG= 0;
255 unsigned long fNumLoopersKilled= 0;
256 G4double fSumEnergyKilled_NonElectron= 0.0;
257 G4double fSumEnerSqKilled_NonElectron= 0.0;
258 G4double fMaxEnergyKilled_NonElectron= -1.0;
259 G4int fMaxEnergyKilled_NonElecPDG= 0;
260 unsigned long fNumLoopersKilled_NonElectron= 0;
263 G4double fSumEnergyUnstableSaved = 0.0;
271 static G4bool fUseMagneticMoment;
272 static G4bool fUseGravity;
273 static G4bool fSilenceLooperWarnings;
277 G4bool fFirstStepInMassVolume;
278 G4bool fFirstStepInAnyVolume;
282 static G4bool fSignifyStepInAnyVolume;
287#include "G4CoupledTransportation.icc"
G4PropagatorInField * GetPropagatorInField()
G4bool IsLastStepInMassVolume() const
static void SetSignifyStepsInAnyVolume(G4bool anyVol)
void SetLowLooperThresholds()
G4bool IsLastStepInAnyVolume() const
void PushThresholdsToLogger()
static G4bool GetSilenceLooperWarnings()
G4double AtRestGetPhysicalInteractionLength(const G4Track &, G4ForceCondition *)
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)
G4double GetMaxEnergyKilled() const
G4double GetThresholdImportantEnergy() const
void ResetKilledStatistics(G4int report=1)
void SetThresholdTrials(G4int newMaxTrials)
static G4bool EnableGravity(G4bool useGravity)
G4int GetThresholdTrials() const
void ReportMove(G4ThreeVector OldVector, G4ThreeVector NewVector, const G4String &Quantity)
static void SetSilenceLooperWarnings(G4bool val)
void ReportInexactEnergy(G4double startEnergy, G4double endEnergy)
static G4bool EnableMagneticMoment(G4bool useMoment=true)
G4double GetSumEnergyKilled() const
void PrintStatistics(std::ostream &outStr) const
G4double GetThresholdWarningEnergy() const
void SetPropagatorInField(G4PropagatorInField *pFieldPropagator)
G4bool DoesAnyFieldExist()
G4VParticleChange * AtRestDoIt(const G4Track &, const G4Step &)
G4double PostStepGetPhysicalInteractionLength(const G4Track &, G4double previousStepSize, G4ForceCondition *pForceCond)
G4bool IsFirstStepInMassVolume() const
void SetThresholdImportantEnergy(G4double newEnImp)
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()
void ReportMissingLogger(const char *methodName)