50 #ifndef G4BOptnForceCommonTruncatedExp_hh
51 #define G4BOptnForceCommonTruncatedExp_hh 1
83 const G4Step* ) {
return 0;}
G4double GetMaximumDistance() const
void AddCrossSection(const G4VProcess *, G4double)
virtual G4VParticleChange * GenerateBiasingFinalState(const G4Track *, const G4Step *)
std::map< const G4VProcess *, G4double > fCrossSections
const G4ThreeVector & GetInitialMomentum() const
G4bool GetInteractionOccured() const
G4ParticleChangeForNothing fDummyParticleChange
size_t GetNumberOfSharing() const
virtual ~G4BOptnForceCommonTruncatedExp()
const G4VProcess * fProcessToApply
G4double fMaximumDistance
G4ILawCommonTruncatedExp * GetCommonTruncatedExpLaw()
virtual G4VParticleChange * ApplyFinalStateBiasing(const G4BiasingProcessInterface *, const G4Track *, const G4Step *, G4bool &)
G4bool fInteractionOccured
G4ThreeVector fInitialMomentum
G4BOptnForceCommonTruncatedExp(G4String name)
G4double fTotalCrossSection
const G4VProcess * GetProcessToApply() const
virtual G4GPILSelection ProposeGPILSelection(const G4GPILSelection processSelection)
G4ILawCommonTruncatedExp * fCommonTruncatedExpLaw
G4ILawForceFreeFlight * GetForceFreeFlightLaw()
void ChooseProcessToApply()
virtual const G4VBiasingInteractionLaw * ProvideOccurenceBiasingInteractionLaw(const G4BiasingProcessInterface *, G4ForceCondition &)
virtual G4double ProposeAlongStepLimit(const G4BiasingProcessInterface *)
virtual G4double DistanceToApplyOperation(const G4Track *, G4double, G4ForceCondition *)
void SetInteractionOccured(G4bool b)
void Initialize(const G4Track *)
void UpdateForStep(const G4Step *)
G4ILawForceFreeFlight * fForceFreeFlightLaw