Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
|
Truncated multipion cross sections. More...
#include <G4INCLCrossSectionsTruncatedMultiPions.hh>
Public Member Functions | |
CrossSectionsTruncatedMultiPions (const G4int nPi=std::numeric_limits< G4int >::max()) | |
virtual G4double | elastic (Particle const *const p1, Particle const *const p2) |
Elastic particle-particle cross section. | |
virtual G4double | piNToDelta (Particle const *const p1, Particle const *const p2) |
Cross section for Delta production - piN Channel. | |
virtual G4double | piNToxPiN (const G4int xpi, Particle const *const p1, Particle const *const p2) |
Cross section for X pion production - piN Channel. | |
virtual G4double | NNToxPiNN (const G4int xpi, Particle const *const p1, Particle const *const p2) |
Cross section for X pion production - NN Channel. | |
Public Member Functions inherited from G4INCL::CrossSectionsMultiPions | |
CrossSectionsMultiPions () | |
virtual G4double | elastic (Particle const *const p1, Particle const *const p2) |
Elastic particle-particle cross section. | |
virtual G4double | total (Particle const *const p1, Particle const *const p2) |
Total (elastic+inelastic) particle-particle cross section. | |
virtual G4double | NDeltaToNN (Particle const *const p1, Particle const *const p2) |
Cross section for NDelta->NN. | |
virtual G4double | NNToNDelta (Particle const *const p1, Particle const *const p2) |
Cross section for Delta production - NN Channel. | |
virtual G4double | piNToDelta (Particle const *const p1, Particle const *const p2) |
Cross section for Delta production - piN Channel. | |
virtual G4double | piNToxPiN (const G4int xpi, Particle const *const p1, Particle const *const p2) |
Cross section for X pion production - piN Channel. | |
virtual G4double | NNToxPiNN (const G4int xpi, Particle const *const p1, Particle const *const p2) |
Cross section for X pion production - NN Channel. | |
virtual G4double | calculateNNAngularSlope (G4double energyCM, G4int iso) |
Calculate the slope of the NN DDXS. | |
virtual G4double | piNToEtaN (Particle const *const p1, Particle const *const p2) |
Cross sections for mesonic resonance production - piN Channel. | |
virtual G4double | piNToOmegaN (Particle const *const p1, Particle const *const p2) |
Cross section for PiN->OmegaN. | |
virtual G4double | piNToEtaPrimeN (Particle const *const p1, Particle const *const p2) |
Cross section for PiN->EtaPrimeN. | |
virtual G4double | etaNToPiPiN (Particle const *const p1, Particle const *const p2) |
Cross sections for mesonic resonance absorption on nucleon - pipiN Channel. | |
virtual G4double | omegaNToPiPiN (Particle const *const p1, Particle const *const p2) |
Cross section for OmegaN->PiPiN. | |
virtual G4double | etaNToPiN (Particle const *const p1, Particle const *const p2) |
Cross sections for mesonic resonance absorption on nucleon - piN Channel. | |
virtual G4double | omegaNToPiN (Particle const *const p1, Particle const *const p2) |
Cross section for OmegaN->PiN. | |
virtual G4double | etaPrimeNToPiN (Particle const *const p1, Particle const *const p2) |
Cross section for EtaPrimeN->PiN. | |
virtual G4double | NNToNNEta (Particle const *const particle1, Particle const *const particle2) |
Cross section for Eta production - NN entrance channel. | |
virtual G4double | NNToNNEtaExclu (Particle const *const particle1, Particle const *const particle2) |
Cross section for Eta production (exclusive) - NN entrance channel. | |
virtual G4double | NNToNNEtaxPi (const G4int xpi, Particle const *const p1, Particle const *const p2) |
Cross section for X pion production - NNEta Channel. | |
virtual G4double | NNToNDeltaEta (Particle const *const p1, Particle const *const p2) |
Cross section for N-Delta-Eta production - NNEta Channel. | |
virtual G4double | NNToNNOmega (Particle const *const particle1, Particle const *const particle2) |
Cross section for Eta production - NN entrance channel. | |
virtual G4double | NNToNNOmegaExclu (Particle const *const particle1, Particle const *const particle2) |
Cross section for Eta production (exclusive) - NN entrance channel. | |
virtual G4double | NNToNNOmegaxPi (const G4int xpi, Particle const *const p1, Particle const *const p2) |
Cross section for X pion production - NNEta Channel. | |
virtual G4double | NNToNDeltaOmega (Particle const *const p1, Particle const *const p2) |
Cross section for N-Delta-Eta production - NNEta Channel. | |
virtual G4double | NYelastic (Particle const *const p1, Particle const *const p2) |
elastic scattering for Nucleon-Strange Particles cross sections | |
virtual G4double | NKbelastic (Particle const *const p1, Particle const *const p2) |
virtual G4double | NKelastic (Particle const *const p1, Particle const *const p2) |
virtual G4double | NNToNLK (Particle const *const p1, Particle const *const p2) |
Nucleon-Nucleon to Stange particles cross sections. | |
virtual G4double | NNToNSK (Particle const *const p1, Particle const *const p2) |
virtual G4double | NNToNLKpi (Particle const *const p1, Particle const *const p2) |
virtual G4double | NNToNSKpi (Particle const *const p1, Particle const *const p2) |
virtual G4double | NNToNLK2pi (Particle const *const p1, Particle const *const p2) |
virtual G4double | NNToNSK2pi (Particle const *const p1, Particle const *const p2) |
virtual G4double | NNToNNKKb (Particle const *const p1, Particle const *const p2) |
virtual G4double | NNToMissingStrangeness (Particle const *const p1, Particle const *const p2) |
virtual G4double | NDeltaToNLK (Particle const *const p1, Particle const *const p2) |
Nucleon-Delta to Stange particles cross sections. | |
virtual G4double | NDeltaToNSK (Particle const *const p1, Particle const *const p2) |
virtual G4double | NDeltaToDeltaLK (Particle const *const p1, Particle const *const p2) |
virtual G4double | NDeltaToDeltaSK (Particle const *const p1, Particle const *const p2) |
virtual G4double | NDeltaToNNKKb (Particle const *const p1, Particle const *const p2) |
virtual G4double | NpiToLK (Particle const *const p1, Particle const *const p2) |
Nucleon-Pion to Stange particles cross sections. | |
virtual G4double | NpiToSK (Particle const *const p1, Particle const *const p2) |
virtual G4double | p_pimToSzKz (Particle const *const p1, Particle const *const p2) |
virtual G4double | p_pimToSmKp (Particle const *const p1, Particle const *const p2) |
virtual G4double | p_pizToSzKp (Particle const *const p1, Particle const *const p2) |
virtual G4double | NpiToLKpi (Particle const *const p1, Particle const *const p2) |
virtual G4double | NpiToSKpi (Particle const *const p1, Particle const *const p2) |
virtual G4double | NpiToLK2pi (Particle const *const p1, Particle const *const p2) |
virtual G4double | NpiToSK2pi (Particle const *const p1, Particle const *const p2) |
virtual G4double | NpiToNKKb (Particle const *const p1, Particle const *const p2) |
virtual G4double | NpiToMissingStrangeness (Particle const *const p1, Particle const *const p2) |
virtual G4double | NLToNS (Particle const *const p1, Particle const *const p2) |
Nucleon-Hyperon cross sections. | |
virtual G4double | NSToNL (Particle const *const p1, Particle const *const p2) |
virtual G4double | NSToNS (Particle const *const p1, Particle const *const p2) |
virtual G4double | NKToNK (Particle const *const p1, Particle const *const p2) |
Nucleon-Kaon quasi-elastic and inelastic cross sections. | |
virtual G4double | NKToNKpi (Particle const *const p1, Particle const *const p2) |
virtual G4double | NKToNK2pi (Particle const *const p1, Particle const *const p2) |
virtual G4double | NKbToNKb (Particle const *const p1, Particle const *const p2) |
Nucleon-antiKaon quasi-elastic and inelastic cross sections. | |
virtual G4double | NKbToSpi (Particle const *const p1, Particle const *const p2) |
virtual G4double | NKbToLpi (Particle const *const p1, Particle const *const p2) |
virtual G4double | NKbToS2pi (Particle const *const p1, Particle const *const p2) |
virtual G4double | NKbToL2pi (Particle const *const p1, Particle const *const p2) |
virtual G4double | NKbToNKbpi (Particle const *const p1, Particle const *const p2) |
virtual G4double | NKbToNKb2pi (Particle const *const p1, Particle const *const p2) |
Public Member Functions inherited from G4INCL::ICrossSections | |
ICrossSections () | |
virtual | ~ICrossSections () |
virtual G4double | elastic (Particle const *const p1, Particle const *const p2)=0 |
Elastic particle-particle cross section. | |
virtual G4double | total (Particle const *const p1, Particle const *const p2)=0 |
Total (elastic+inelastic) particle-particle cross section. | |
virtual G4double | NDeltaToNN (Particle const *const p1, Particle const *const p2)=0 |
Cross section for NDelta->NN. | |
virtual G4double | NNToNDelta (Particle const *const p1, Particle const *const p2)=0 |
Cross section for NN->NDelta. | |
virtual G4double | NNToxPiNN (const G4int xpi, Particle const *const p1, Particle const *const p2)=0 |
Cross section for NN->xpiN. | |
virtual G4double | piNToDelta (Particle const *const p1, Particle const *const p2)=0 |
Cross section for piN->NDelta. | |
virtual G4double | piNToxPiN (const G4int xpi, Particle const *const p1, Particle const *const p2)=0 |
Cross section for piN->piNpi. | |
virtual G4double | piNToEtaN (Particle const *const p1, Particle const *const p2)=0 |
Cross section for PiN->EtaN. | |
virtual G4double | piNToOmegaN (Particle const *const p1, Particle const *const p2)=0 |
Cross section for PiN->OmegaN. | |
virtual G4double | piNToEtaPrimeN (Particle const *const p1, Particle const *const p2)=0 |
Cross section for PiN->EtaPrimeN. | |
virtual G4double | etaNToPiN (Particle const *const p1, Particle const *const p2)=0 |
Cross section for EtaN->PiN. | |
virtual G4double | etaNToPiPiN (Particle const *const p1, Particle const *const p2)=0 |
Cross section for EtaN->PiPiN. | |
virtual G4double | omegaNToPiN (Particle const *const p1, Particle const *const p2)=0 |
Cross section for OmegaN->PiN. | |
virtual G4double | omegaNToPiPiN (Particle const *const p1, Particle const *const p2)=0 |
Cross section for OmegaN->PiPiN. | |
virtual G4double | etaPrimeNToPiN (Particle const *const p1, Particle const *const p2)=0 |
Cross section for EtaPrimeN->PiN. | |
virtual G4double | NNToNNEta (Particle const *const p1, Particle const *const p2)=0 |
Cross section for NN->NNEta (inclusive) | |
virtual G4double | NNToNNEtaExclu (Particle const *const p1, Particle const *const p2)=0 |
Cross section for NN->NNEta (exclusive) | |
virtual G4double | NNToNNEtaxPi (const G4int xpi, Particle const *const p1, Particle const *const p2)=0 |
Cross section for NN->NNEtaxPi. | |
virtual G4double | NNToNDeltaEta (Particle const *const p1, Particle const *const p2)=0 |
Cross section for N-Delta-Eta production - NNEta Channel. | |
virtual G4double | NNToNNOmega (Particle const *const p1, Particle const *const p2)=0 |
Cross section for NN->NNEta (inclusive) | |
virtual G4double | NNToNNOmegaExclu (Particle const *const p1, Particle const *const p2)=0 |
Cross section for NN->NNEta (exclusive) | |
virtual G4double | NNToNNOmegaxPi (const G4int xpi, Particle const *const p1, Particle const *const p2)=0 |
Cross section for NN->NNEtaxPi. | |
virtual G4double | NNToNDeltaOmega (Particle const *const p1, Particle const *const p2)=0 |
Cross section for N-Delta-Eta production - NNEta Channel. | |
virtual G4double | NYelastic (Particle const *const p1, Particle const *const p2)=0 |
elastic scattering for Nucleon-Strange Particles cross sections | |
virtual G4double | NKbelastic (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | NKelastic (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | NNToNLK (Particle const *const p1, Particle const *const p2)=0 |
Nucleon-Nucleon to Stange particles cross sections. | |
virtual G4double | NNToNSK (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | NNToNLKpi (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | NNToNSKpi (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | NNToNLK2pi (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | NNToNSK2pi (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | NNToNNKKb (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | NNToMissingStrangeness (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | NDeltaToNLK (Particle const *const p1, Particle const *const p2)=0 |
Nucleon-Delta to Stange particles cross sections. | |
virtual G4double | NDeltaToNSK (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | NDeltaToDeltaLK (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | NDeltaToDeltaSK (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | NDeltaToNNKKb (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | NpiToLK (Particle const *const p1, Particle const *const p2)=0 |
Nucleon-Pion to Stange particles cross sections. | |
virtual G4double | NpiToSK (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | p_pimToSzKz (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | p_pimToSmKp (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | p_pizToSzKp (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | NpiToLKpi (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | NpiToSKpi (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | NpiToLK2pi (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | NpiToSK2pi (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | NpiToNKKb (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | NpiToMissingStrangeness (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | NLToNS (Particle const *const p1, Particle const *const p2)=0 |
Nucleon-Hyperon cross sections. | |
virtual G4double | NSToNL (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | NSToNS (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | NKToNK (Particle const *const p1, Particle const *const p2)=0 |
Nucleon-Kaon inelastic cross sections. | |
virtual G4double | NKToNKpi (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | NKToNK2pi (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | NKbToNKb (Particle const *const p1, Particle const *const p2)=0 |
Nucleon-antiKaon inelastic cross sections. | |
virtual G4double | NKbToSpi (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | NKbToLpi (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | NKbToS2pi (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | NKbToL2pi (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | NKbToNKbpi (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | NKbToNKb2pi (Particle const *const p1, Particle const *const p2)=0 |
virtual G4double | calculateNNAngularSlope (G4double energyCM, G4int iso)=0 |
Calculate the slope of the NN DDXS. | |
Protected Attributes | |
const G4int | nMaxPi |
Maximum number of pions produced in TruncatedMultiPion collisions. | |
Protected Attributes inherited from G4INCL::CrossSectionsMultiPions | |
const HornerC7 | s11pzHC |
Horner coefficients for s11pz. | |
const HornerC8 | s01ppHC |
Horner coefficients for s01pp. | |
const HornerC4 | s01pzHC |
Horner coefficients for s01pz. | |
const HornerC4 | s11pmHC |
Horner coefficients for s11pm. | |
const HornerC5 | s12pmHC |
Horner coefficients for s12pm. | |
const HornerC3 | s12ppHC |
Horner coefficients for s12pp. | |
const HornerC4 | s12zzHC |
Horner coefficients for s12zz. | |
const HornerC4 | s02pzHC |
Horner coefficients for s02pz. | |
const HornerC6 | s02pmHC |
Horner coefficients for s02pm. | |
const HornerC4 | s12mzHC |
Horner coefficients for s12mz. | |
Additional Inherited Members | |
Protected Member Functions inherited from G4INCL::CrossSectionsMultiPions | |
G4double | NNElastic (Particle const *const part1, Particle const *const part2) |
Internal implementation of the NN elastic cross section. | |
G4double | NNElasticFixed (const G4double s, const G4int i) |
Internal implementation of the NN elastic cross section with fixed isospin. | |
G4double | NNTot (Particle const *const part1, Particle const *const part2) |
Internal implementation of the NN total cross section. | |
G4double | NNTotFixed (const G4double s, const G4int i) |
Internal implementation of the NN total cross section with fixed isospin. | |
G4double | NNInelasticIso (const G4double ener, const G4int iso) |
Internal implementation of the isospin dependent NN reaction cross section. | |
virtual G4double | NNOnePiOrDelta (const G4double ener, const G4int iso, const G4double xsiso) |
Cross section for direct 1-pion production + delta production - NN entrance channel. | |
virtual G4double | NNTwoPi (const G4double ener, const G4int iso, const G4double xsiso) |
Cross section for direct 2-pion production - NN entrance channel. | |
virtual G4double | NNThreePi (const G4double ener, const G4int iso, const G4double xsiso, const G4double xs1pi, const G4double xs2pi) |
Cross section for direct 3-pion production - NN entrance channel. | |
virtual G4double | NNOnePi (Particle const *const part1, Particle const *const part2) |
Cross section for direct 1-pion production - NN entrance channel. | |
virtual G4double | NNOnePiOrDelta (Particle const *const part1, Particle const *const part2) |
Cross section for direct 1-pion production - NN entrance channel. | |
virtual G4double | NNTwoPi (Particle const *const part1, Particle const *const part2) |
Cross section for direct 2-pion production - NN entrance channel. | |
virtual G4double | NNThreePi (Particle const *const part1, Particle const *const part2) |
Cross section for direct 3-pion production - NN entrance channel. | |
virtual G4double | NNFourPi (Particle const *const part1, Particle const *const part2) |
Cross section for direct 4-pion production - NN entrance channel. | |
G4double | spnPiPlusPHE (const G4double x) |
Internal function for pion cross sections. | |
G4double | spnPiMinusPHE (const G4double x) |
Internal function for pion cross sections. | |
G4double | piNIne (Particle const *const p1, Particle const *const p2) |
G4double | piNTot (Particle const *const p1, Particle const *const p2) |
G4double | piNTopiN (Particle const *const p1, Particle const *const p2) |
G4double | piPluspIne (Particle const *const p1, Particle const *const p2) |
G4double | piMinuspIne (Particle const *const p1, Particle const *const p2) |
G4double | piPluspOnePi (Particle const *const p1, Particle const *const p2) |
G4double | piMinuspOnePi (Particle const *const p1, Particle const *const p2) |
G4double | piPluspTwoPi (Particle const *const p1, Particle const *const p2) |
G4double | piMinuspTwoPi (Particle const *const p1, Particle const *const p2) |
virtual G4double | piNOnePi (Particle const *const p1, Particle const *const p2) |
Cross section for One (more) pion production - piN entrance channel. | |
virtual G4double | piNTwoPi (Particle const *const p1, Particle const *const p2) |
Cross section for Two (more) pion production - piN entrance channel. | |
Static Protected Attributes inherited from G4INCL::CrossSectionsMultiPions | |
static const G4int | nMaxPiNN = 4 |
Maximum number of outgoing pions in NN collisions. | |
static const G4int | nMaxPiPiN = 4 |
Maximum number of outgoing pions in piN collisions. | |
static const G4double | s11pzOOT = 0.0035761542037692665889 |
One over threshold for s11pz. | |
static const G4double | s01ppOOT = 0.003421025623481919853 |
One over threshold for s01pp. | |
static const G4double | s01pzOOT = 0.0035739814152966403123 |
One over threshold for s01pz. | |
static const G4double | s11pmOOT = 0.0034855350296270480281 |
One over threshold for s11pm. | |
static const G4double | s12pmOOT = 0.0016672224074691565119 |
One over threshold for s12pm. | |
static const G4double | s12ppOOT = 0.0016507643038726931312 |
One over threshold for s12pp. | |
static const G4double | s12zzOOT = 0.0011111111111111111111 |
One over threshold for s12zz. | |
static const G4double | s02pzOOT = 0.00125 |
One over threshold for s02pz. | |
static const G4double | s02pmOOT = 0.0016661112962345883443 |
One over threshold for s02pm. | |
static const G4double | s12mzOOT = 0.0017047391749062392793 |
One over threshold for s12mz. | |
Truncated multipion cross sections.
Definition at line 54 of file G4INCLCrossSectionsTruncatedMultiPions.hh.
G4INCL::CrossSectionsTruncatedMultiPions::CrossSectionsTruncatedMultiPions | ( | const G4int | nPi = std::numeric_limits<G4int>::max() | ) |
Definition at line 50 of file G4INCLCrossSectionsTruncatedMultiPions.cc.
|
virtual |
Elastic particle-particle cross section.
The elastic pi-N cross section is calculated by difference: elastic = total - inelastic(pion production) - delta, but we need to use the unmodified piNToDelta cross section, or else we will violate the cross-section sum.
This modification is only necessary for piN collisions.
Reimplemented from G4INCL::CrossSectionsMultiPions.
Definition at line 54 of file G4INCLCrossSectionsTruncatedMultiPions.cc.
|
virtual |
Cross section for X pion production - NN Channel.
Reimplemented from G4INCL::CrossSectionsMultiPions.
Definition at line 78 of file G4INCLCrossSectionsTruncatedMultiPions.cc.
|
virtual |
Cross section for Delta production - piN Channel.
Reimplemented from G4INCL::CrossSectionsMultiPions.
Definition at line 69 of file G4INCLCrossSectionsTruncatedMultiPions.cc.
|
virtual |
Cross section for X pion production - piN Channel.
Reimplemented from G4INCL::CrossSectionsMultiPions.
Definition at line 90 of file G4INCLCrossSectionsTruncatedMultiPions.cc.
|
protected |
Maximum number of pions produced in TruncatedMultiPion collisions.
Definition at line 81 of file G4INCLCrossSectionsTruncatedMultiPions.hh.
Referenced by NNToxPiNN(), piNToDelta(), and piNToxPiN().