49 #ifndef G4eeToHadronsMultiModel_h
50 #define G4eeToHadronsMultiModel_h 1
57 #include "CLHEP/Units/SystemOfUnits.h"
58 #include "CLHEP/Units/PhysicalConstants.h"
70 const G4String& nam =
"eeToHadrons");
144 G4double mass = CLHEP::electron_mass_c2;
145 G4double totE_lab = kinE_lab + mass;
146 totE_CM = std::sqrt(2*mass*(mass+totE_lab));
G4eeToHadronsMultiModel & operator=(const G4eeToHadronsMultiModel &right)
virtual G4double CrossSectionPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy, G4double maxEnergy) override
std::vector< G4double > ekinMax
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kineticEnergy, G4double Z, G4double A, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX) override
std::vector< G4double > ekinPeak
G4double maxKineticEnergy
std::vector< G4eeToHadronsModel * > models
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin=0.0, G4double maxEnergy=DBL_MAX) override
double A(double temperature)
std::vector< G4double > ekinMin
void AddEEModel(G4Vee2hadrons *, const G4DataVector &)
std::vector< G4double > cumSum
G4double ComputeCrossSectionPerElectron(const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
G4ParticleChangeForGamma * fParticleChange
G4eeCrossSections * cross
G4eeToHadronsMultiModel(G4int ver=0, const G4String &nam="eeToHadrons")
G4double LabToCM(G4double)
G4double energy(const ThreeVector &p, const G4double m)
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
static const G4double fac
virtual ~G4eeToHadronsMultiModel()
void SetCrossSecFactor(G4double fac)