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