48#ifndef G4eeToHadronsMultiModel_h
49#define G4eeToHadronsMultiModel_h 1
69 const G4String& nam =
"eeToHadrons");
142 G4double totE_lab = kinE_lab + mass;
143 totE_CM = std::sqrt(2*mass*(mass+totE_lab));
static const G4double fac
void ModelDescription(std::ostream &outFile) const override
G4eeCrossSections * cross
G4eeToHadronsMultiModel & operator=(const G4eeToHadronsMultiModel &right)=delete
G4double maxKineticEnergy
std::vector< G4eeToHadronsModel * > models
void AddEEModel(G4Vee2hadrons *, const G4DataVector &)
G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kineticEnergy, G4double Z, G4double A, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX) override
void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin=0.0, G4double maxEnergy=DBL_MAX) override
void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
void SetCrossSecFactor(G4double fac)
G4eeToHadronsMultiModel(const G4eeToHadronsMultiModel &)=delete
~G4eeToHadronsMultiModel() override
G4double LabToCM(G4double)
std::vector< G4double > ekinPeak
std::vector< G4double > cumSum
G4double CrossSectionPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy, G4double maxEnergy) override
std::vector< G4double > ekinMin
std::vector< G4double > ekinMax
G4double ComputeCrossSectionPerElectron(const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
G4eeToHadronsMultiModel(G4int ver=0, const G4String &nam="eeToHadrons")
G4ParticleChangeForGamma * fParticleChange
static constexpr double electron_mass_c2