25 #ifndef SimG4Core_PhysicsLists_MonopoleTransportation_h 26 #define SimG4Core_PhysicsLists_MonopoleTransportation_h 1 28 #include "G4VProcess.hh" 29 #include "G4FieldManager.hh" 31 #include "G4Navigator.hh" 32 #include "G4TransportationManager.hh" 33 #include "G4PropagatorInField.hh" 36 #include "G4ParticleChangeForTransport.hh" 37 #include "CLHEP/Units/SystemOfUnits.h" 54 G4double previousStepSize,
55 G4double currentMinimumStep,
56 G4double& currentSafety,
62 const G4Step& stepData
67 const G4Step& stepData
73 G4double previousStepSize,
74 G4ForceCondition* pForceCond
105 G4ForceCondition*)
override;
107 G4VParticleChange*
AtRestDoIt(
const G4Track&,
const G4Step&)
override;
190 G4TransportationManager* transportMgr =
191 G4TransportationManager::GetTransportationManager();
192 return transportMgr->GetFieldManager()->DoesFieldExist();
G4PropagatorInField * GetPropagatorInField()
G4double fThreshold_Warning_Energy
void SetThresholdTrials(G4int newMaxTrials)
G4bool DoesGlobalFieldExist()
G4int GetThresholdTrials() const
G4double fMaxEnergyKilled
G4double endpointDistance
void StartTracking(G4Track *aTrack) override
G4bool fGeometryLimitedStep
const Monopole * fParticleDef
G4double GetThresholdWarningEnergy() const
G4double GetMaxEnergyKilled() const
void ResetKilledStatistics(G4int report=1)
G4double AtRestGetPhysicalInteractionLength(const G4Track &, G4ForceCondition *) override
G4double fCandidateEndGlobalTime
G4double fThreshold_Important_Energy
G4ThreeVector fTransportEndMomentumDir
G4ThreeVector fPreviousSftOrigin
G4bool fShortStepOptimisation
G4double GetSumEnergyKilled() const
void SetThresholdWarningEnergy(G4double newEnWarn)
G4double fSumEnergyKilled
G4bool fEndGlobalTimeComputed
G4double GetThresholdImportantEnergy() const
G4ThreeVector fTransportEndSpin
G4ParticleChangeForTransport fParticleChange
void SetThresholdImportantEnergy(G4double newEnImp)
G4double AlongStepGetPhysicalInteractionLength(const G4Track &track, G4double previousStepSize, G4double currentMinimumStep, G4double ¤tSafety, G4GPILSelection *selection) override
G4Navigator * fLinearNavigator
G4double PostStepGetPhysicalInteractionLength(const G4Track &, G4double previousStepSize, G4ForceCondition *pForceCond) override
MonopoleTransportation(const Monopole *p, G4int verbosityLevel=1)
G4PropagatorInField * fFieldPropagator
G4VParticleChange * AtRestDoIt(const G4Track &, const G4Step &) override
G4SafetyHelper * fpSafetyHelper
void SetPropagatorInField(G4PropagatorInField *pFieldPropagator)
G4TouchableHandle fCurrentTouchableHandle
G4double fTransportEndKineticEnergy
G4bool fParticleIsLooping
void EnableShortStepOptimisation(G4bool optimise=true)
~MonopoleTransportation() override
G4VParticleChange * PostStepDoIt(const G4Track &track, const G4Step &stepData) override
G4VParticleChange * AlongStepDoIt(const G4Track &track, const G4Step &stepData) override
CMSFieldManager * fieldMgrCMS
G4ThreeVector fTransportEndPosition