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" 51 G4double previousStepSize,
52 G4double currentMinimumStep,
53 G4double& currentSafety,
56 G4VParticleChange*
AlongStepDoIt(
const G4Track& track,
const G4Step& stepData)
override;
58 G4VParticleChange*
PostStepDoIt(
const G4Track& track,
const G4Step& stepData)
override;
62 G4double previousStepSize,
63 G4ForceCondition* pForceCond)
override;
94 G4VParticleChange*
AtRestDoIt(
const G4Track&,
const G4Step&)
override;
168 G4TransportationManager* transportMgr = G4TransportationManager::GetTransportationManager();
169 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