116 G4double F[
n] = {0.33,0.27,0.29,0.31,0.27,0.18,0.13,0.1,0.09,0.07};
122 G4double F[
n] = {0.50,0.45,0.40,0.35,0.30,0.25,0.06,0.04,0.005,0.0};
128 G4cout <<
"G4ChargeExchangeProcess for "
149 G4cout <<
"G4ChargeExchangeProcess compute GHAD CS for element "
166 { x *= (1.0 -
Z/
A); }
173 if(ptot > 2.*
GeV) x *= 4.0*
GeV*
GeV/(ptot*ptot);
static constexpr double millibarn
static constexpr double GeV
static constexpr double MeV
G4GLOB_DLL std::ostream G4cout
static G4AntiLambda * AntiLambda()
static G4AntiNeutron * AntiNeutron()
static G4AntiOmegaMinus * AntiOmegaMinus()
static G4AntiProton * AntiProton()
static G4AntiSigmaMinus * AntiSigmaMinus()
static G4AntiSigmaPlus * AntiSigmaPlus()
static G4AntiSigmaZero * AntiSigmaZero()
static G4AntiXiMinus * AntiXiMinus()
static G4AntiXiZero * AntiXiZero()
const G4ParticleDefinition * theKPlus
const G4ParticleDefinition * theK0S
const G4ParticleDefinition * thePiMinus
const G4ParticleDefinition * theHe3
const G4ParticleDefinition * thePiZero
G4PhysicsLinearVector * factors
const G4ParticleDefinition * theS0
const G4ParticleDefinition * theSMinus
const G4ParticleDefinition * theAntiL
const G4ParticleDefinition * theKMinus
const G4ParticleDefinition * theD
const G4ParticleDefinition * theASMinus
const G4ParticleDefinition * theNeutron
const G4ParticleDefinition * theAXiMinus
const G4ParticleDefinition * theParticle
const G4ParticleDefinition * theAXi0
virtual G4double GetElementCrossSection(const G4DynamicParticle *aParticle, const G4Element *anElement, const G4Material *mat=0)
const G4ParticleDefinition * theAProton
const G4ParticleDefinition * theK0L
const G4ParticleDefinition * theAOmega
const G4ParticleDefinition * theSPlus
const G4ParticleDefinition * theXiMinus
const G4ParticleDefinition * theProton
virtual void DumpPhysicsTable(const G4ParticleDefinition &aParticleType)
const G4ParticleDefinition * thePiPlus
const G4ParticleDefinition * theASPlus
const G4ParticleDefinition * theA
const G4ParticleDefinition * theXi0
virtual G4bool IsApplicable(const G4ParticleDefinition &aParticleType)
const G4ParticleDefinition * theAS0
virtual void BuildPhysicsTable(const G4ParticleDefinition &aParticleType)
const G4ParticleDefinition * theL
const G4ParticleDefinition * theOmega
virtual ~G4ChargeExchangeProcess()
G4CrossSectionDataStore * store
const G4ParticleDefinition * theT
const G4ParticleDefinition * theANeutron
G4ChargeExchangeProcess(const G4String &procName="chargeExchange")
void DumpPhysicsTable(const G4ParticleDefinition &)
G4double GetCrossSection(const G4DynamicParticle *, const G4Material *)
static G4Deuteron * Deuteron()
G4double GetKineticEnergy() const
G4double GetTotalMomentum() const
const G4String & GetName() const
void AddDataSet(G4VCrossSectionDataSet *aDataSet)
void BuildPhysicsTable(const G4ParticleDefinition &) override
G4CrossSectionDataStore * GetCrossSectionDataStore()
static G4KaonMinus * KaonMinus()
static G4KaonPlus * KaonPlus()
static G4KaonZeroLong * KaonZeroLong()
static G4KaonZeroShort * KaonZeroShort()
static G4Lambda * Lambda()
static G4Neutron * Neutron()
static G4OmegaMinus * OmegaMinus()
G4double GetPDGMass() const
G4int GetPDGEncoding() const
const G4String & GetParticleName() const
void PutValue(const std::size_t index, const G4double value)
G4double GetValue(const G4double energy, G4bool &isOutRange) const
static G4PionMinus * PionMinus()
static G4PionPlus * PionPlus()
static G4PionZero * PionZero()
static G4Pow * GetInstance()
G4double powA(G4double A, G4double y) const
static G4Proton * Proton()
static G4SigmaMinus * SigmaMinus()
static G4SigmaPlus * SigmaPlus()
static G4SigmaZero * SigmaZero()
static G4Triton * Triton()
static G4XiMinus * XiMinus()
static G4XiZero * XiZero()