48#ifndef G4eeToHadronsMultiModel_h
49#define G4eeToHadronsMultiModel_h 1
69 const G4String& nam =
"eeToHadrons");
121 std::vector<G4eeToHadronsModel*> models;
123 std::vector<G4double> ekinMin;
124 std::vector<G4double> ekinPeak;
125 std::vector<G4double> ekinMax;
126 std::vector<G4double> cumSum;
143 G4double mass = CLHEP::electron_mass_c2;
144 G4double totE_lab = kinE_lab + mass;
145 totE_CM = std::sqrt(2*mass*(mass+totE_lab));
157 G4double energy = LabToCM(kineticEnergy);
159 if (energy > thKineticEnergy) {
160 for(
G4int i=0; i<nModels; i++) {
161 if(energy >= ekinMin[i] && energy <= ekinMax[i]){
double A(double temperature)
virtual void ModelDescription(std::ostream &outFile) const override
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kineticEnergy, G4double Z, G4double A, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX) override
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin=0.0, G4double maxEnergy=DBL_MAX) override
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
void SetCrossSecFactor(G4double fac)
virtual G4double CrossSectionPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy, G4double maxEnergy) override
G4double ComputeCrossSectionPerElectron(const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
virtual ~G4eeToHadronsMultiModel()