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