131 if(std::fabs(corr) > 100.) { Sigma = 0.0; }
132 else { Sigma *= corr; }
146 if (Sigma>0) mean_free_path = 1./Sigma;
167 return mean_free_path;
G4double condition(const G4ErrorSymMatrix &m)
G4bool IsIntegralModeUsed
G4ParticleDefinition * GetDefinition() const
G4double GetCrossSectionCorrection(G4ParticleDefinition *aPartDef, G4double PreStepEkin, const G4MaterialCutsCouple *aCouple, G4bool &fwd_is_used, G4double &fwd_TotCS)
static constexpr double mm
void BuildPhysicsTable(const G4ParticleDefinition &)
virtual G4double GetAdjointCrossSection(const G4MaterialCutsCouple *aCouple, G4double primEnergy, G4bool IsScatProjToProjCase)
const G4MaterialCutsCouple * GetMaterialCutsCouple() const
G4VAdjointReverseReaction(G4String process_name, G4bool whichScatCase)
void ClearNumberOfInteractionLengthLeft()
virtual void SampleSecondaries(const G4Track &aTrack, G4bool IsScatProjToProjCase, G4ParticleChange *fParticleChange)=0
virtual ~G4VAdjointReverseReaction()
G4double GetKineticEnergy() const
void PreparePhysicsTable(const G4ParticleDefinition &)
G4AdjointCSManager * theAdjointCSManager
virtual G4VParticleChange * PostStepDoIt(const G4Track &, const G4Step &)
virtual void Initialize(const G4Track &)
G4VEmAdjointModel * theAdjointEMModel
void BuildTotalSigmaTables()
G4bool IsScatProjToProjCase
G4ParticleChange * fParticleChange
void BuildCrossSectionMatrices()
virtual G4double GetMeanFreePath(const G4Track &track, G4double previousStepSize, G4ForceCondition *condition)
static G4AdjointCSManager * GetAdjointCSManager()