57 cross_section.clear();
68 cross_section.push_back(0.0);
82 <<
" including following list of " << nModels <<
" models:" <<
G4endl;
84 for(
G4int i=0; i<nModels; ++i) {
100 for(
G4int i=0; i<nModels; ++i) {
117 for(
G4int i=0; i<nModels; ++i) {
120 cutEnergy, maxEnergy);
137 for(i=0; i<nModels; ++i) {
140 cross_section[i] = cross;
145 for(i=0; i<nModels; ++i) {
146 if(cross <= cross_section[i]) {
G4GLOB_DLL std::ostream G4cout
const G4ParticleDefinition * GetParticleDefinition() const
G4double GetKineticEnergy() const
G4EmMultiModel(const G4String &nam="MultiModel")
void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double tmax) final
G4double ComputeDEDXPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy) final
~G4EmMultiModel() override
G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kinEnergy, G4double Z, G4double A=0., G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX) final
void Initialise(const G4ParticleDefinition *, const G4DataVector &) final
void AddModel(G4VEmModel *)
static G4EmParameters * Instance()
G4int WorkerVerbose() const
G4VEmFluctuationModel * GetModelOfFluctuations()
void SetCurrentCouple(const G4MaterialCutsCouple *)
void SetParticleChange(G4VParticleChange *, G4VEmFluctuationModel *f=nullptr)
G4VParticleChange * pParticleChange
G4double CrossSection(const G4MaterialCutsCouple *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
const G4MaterialCutsCouple * CurrentCouple() const
const G4String & GetName() const