44#ifndef G4BOptnForceCommonTruncatedExp_hh
45#define G4BOptnForceCommonTruncatedExp_hh 1
88 return fCommonTruncatedExpLaw;
92 return fForceFreeFlightLaw;
112 std::map < const G4VProcess*, G4double > fCrossSections;
113 std::size_t fNumberOfSharing = 0;
115 G4bool fInteractionOccured =
false;
CLHEP::Hep3Vector G4ThreeVector
std::size_t GetNumberOfSharing() const
virtual G4double ProposeAlongStepLimit(const G4BiasingProcessInterface *)
G4ILawCommonTruncatedExp * GetCommonTruncatedExpLaw()
void UpdateForStep(const G4Step *)
virtual G4GPILSelection ProposeGPILSelection(const G4GPILSelection processSelection)
void ChooseProcessToApply()
virtual ~G4BOptnForceCommonTruncatedExp()
virtual G4VParticleChange * GenerateBiasingFinalState(const G4Track *, const G4Step *)
virtual const G4VBiasingInteractionLaw * ProvideOccurenceBiasingInteractionLaw(const G4BiasingProcessInterface *, G4ForceCondition &)
void SetInteractionOccured(G4bool b)
G4double GetMaximumDistance() const
G4ILawForceFreeFlight * GetForceFreeFlightLaw()
G4BOptnForceCommonTruncatedExp(const G4String &name)
void AddCrossSection(const G4VProcess *, G4double)
const G4ThreeVector & GetInitialMomentum() const
G4bool GetInteractionOccured() const
void Initialize(const G4Track *)
const G4VProcess * GetProcessToApply() const
virtual G4double DistanceToApplyOperation(const G4Track *, G4double, G4ForceCondition *)
virtual G4VParticleChange * ApplyFinalStateBiasing(const G4BiasingProcessInterface *, const G4Track *, const G4Step *, G4bool &)
G4VBiasingOperation(const G4String &name)