74 maxKineticEnergy = 4.521*
GeV;
75 fParticleChange =
nullptr;
101 AddEEModel(m2pi,cuts);
105 AddEEModel(m3pi,cuts);
109 AddEEModel(m2kc,cuts);
113 AddEEModel(m2kn,cuts);
117 AddEEModel(mpg1,cuts);
121 AddEEModel(mpg2,cuts);
123 nModels = models.size();
137 models.push_back(model);
139 ekinMin.push_back(elow);
140 if(thKineticEnergy > elow) { thKineticEnergy = elow; }
143 cumSum.push_back(0.0);
176 std::vector<G4DynamicParticle*>* newp,
183 if (energy > thKineticEnergy) {
185 for(
G4int i=0; i<nModels; i++) {
188 if(newp->size() > 0) {
206 G4cout <<
" e+ annihilation into hadrons active from "
207 << e1/
GeV <<
" GeV to " << e2/
GeV <<
" GeV"
219 G4cout <<
"### G4eeToHadronsMultiModel: The cross section for "
220 <<
"G4eeToHadronsMultiModel is increased by "
221 << csFactor <<
" times" <<
G4endl;
G4double LowEnergy() const
G4double GetKineticEnergy() const
virtual G4double CrossSectionPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy, G4double maxEnergy) override
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kineticEnergy, G4double Z, G4double A, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX) override
static constexpr double electron_mass_c2
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin=0.0, G4double maxEnergy=DBL_MAX) override
G4GLOB_DLL std::ostream G4cout
G4double GetElectronDensity() const
G4double ComputeCrossSectionPerElectron(const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
virtual G4double PeakEnergy() const =0
static G4Positron * Positron()
G4eeToHadronsMultiModel(G4int ver=0, const G4String &nam="eeToHadrons")
G4double energy(const ThreeVector &p, const G4double m)
static constexpr double GeV
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
static const G4double fac
static constexpr double MeV
virtual ~G4eeToHadronsMultiModel()
G4double HighEnergy() const
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
void ProposeTrackStatus(G4TrackStatus status)
const XML_Char XML_Content * model
void SetCrossSecFactor(G4double fac)
G4ParticleChangeForGamma * GetParticleChangeForGamma()