53 #ifndef G4BiasingProcessInterface_h
54 #define G4BiasingProcessInterface_h
190 void SetUpFirstLastFlags();
191 void ResetForUnbiasedTracking();
207 G4bool fResetWrappedProcessInteractionLength;
210 const G4bool fIsPhysicsBasedBiasing;
211 const G4bool fWrappedProcessIsAtRest;
212 const G4bool fWrappedProcessIsAlong;
213 const G4bool fWrappedProcessIsPost;
216 G4double fWrappedProcessPostStepGPIL;
218 G4double fWrappedProcessInteractionLength;
221 G4double fWrappedProcessAlongStepGPIL;
232 G4bool fFirstLastFlags[8];
237 return 4*firstLast + 2*GPILDoIt + physAll;
260 std::vector< G4BiasingProcessInterface* >* fCoInterfaces;
263 std::vector< G4BiasingProcessInterface* > > fManagerInterfaceMap;
G4double condition(const G4ErrorSymMatrix &m)
G4VBiasingOperator * GetCurrentBiasingOperator() const
virtual void BuildWorkerPhysicsTable(const G4ParticleDefinition &pd)
G4bool IsLastPostStepGPILInterface(G4bool physOnly=true) const
G4VBiasingOperation * GetCurrentOccurenceBiasingOperation() const
virtual void PreparePhysicsTable(const G4ParticleDefinition &pd)
virtual G4VParticleChange * AtRestDoIt(const G4Track &, const G4Step &)
virtual G4bool StorePhysicsTable(const G4ParticleDefinition *pd, const G4String &s, G4bool f)
G4double GetCurrentMinimumStep() const
virtual void BuildPhysicsTable(const G4ParticleDefinition &pd)
virtual void PrepareWorkerPhysicsTable(const G4ParticleDefinition &pd)
G4double GetPreviousStepSize() const
G4double GetPostStepGPIL() const
virtual G4VParticleChange * AlongStepDoIt(const G4Track &track, const G4Step &step)
virtual G4VParticleChange * PostStepDoIt(const G4Track &track, const G4Step &step)
G4VBiasingOperation * GetPreviousNonPhysicsBiasingOperation() const
virtual void SetProcessManager(const G4ProcessManager *)
G4VProcess * GetWrappedProcess() const
G4bool GetIsFirstPostStepGPILInterface(G4bool physOnly=true) const
G4bool GetIsLastPostStepDoItInterface(G4bool physOnly=true) const
G4bool GetIsLastPostStepGPILInterface(G4bool physOnly=true) const
G4bool GetIsFirstPostStepDoItInterface(G4bool physOnly=true) const
virtual G4double PostStepGetPhysicalInteractionLength(const G4Track &track, G4double previousStepSize, G4ForceCondition *condition)
G4double GetProposedSafety() const
virtual G4bool IsApplicable(const G4ParticleDefinition &pd)
virtual const G4ProcessManager * GetProcessManager()
G4double GetAlongStepGPIL() const
G4bool IsFirstPostStepGPILInterface(G4bool physOnly=true) const
virtual void SetMasterProcess(G4VProcess *masterP)
G4BiasingProcessInterface(G4String name="biasWrapper(0)")
virtual G4bool RetrievePhysicsTable(const G4ParticleDefinition *pd, const G4String &s, G4bool f)
G4VBiasingOperator * GetPreviousBiasingOperator() const
G4bool GetWrappedProcessIsPost() const
G4VBiasingOperation * GetPreviousFinalStateBiasingOperation() const
void SetProposedSafety(G4double sft)
G4bool IsFirstPostStepDoItInterface(G4bool physOnly=true) const
virtual void ResetNumberOfInteractionLengthLeft()
G4bool GetWrappedProcessIsAtRest() const
G4VBiasingOperation * GetCurrentFinalStateBiasingOperation() const
G4bool IsLastPostStepDoItInterface(G4bool physOnly=true) const
G4bool GetWrappedProcessIsAlong() const
void StartTracking(G4Track *track)
G4VBiasingOperation * GetPreviousOccurenceBiasingOperation() const
G4VBiasingOperation * GetCurrentNonPhysicsBiasingOperation() const
virtual G4double AlongStepGetPhysicalInteractionLength(const G4Track &track, G4double previousStepSize, G4double currentMinimumStep, G4double &proposedSafety, G4GPILSelection *selection)
virtual G4double AtRestGetPhysicalInteractionLength(const G4Track &, G4ForceCondition *)
~G4BiasingProcessInterface()