102     theParticle = &aParticleType;
 
  108     if(theParticle == thePiPlus || theParticle == thePiMinus ||
 
  109        theParticle == theKPlus  || theParticle == theKMinus ||
 
  110        theParticle == theK0S    || theParticle == theK0L) {
 
  112       G4double F[
n] = {0.33,0.27,0.29,0.31,0.27,0.18,0.13,0.1,0.09,0.07};
 
  114       for(
size_t i=0; i<
n; i++) {factors->
PutValue(i,F[i]);}
 
  118       G4double F[
n] = {0.50,0.45,0.40,0.35,0.30,0.25,0.06,0.04,0.005,0.0};
 
  120       for(
size_t i=0; i<
n; i++) {factors->
PutValue(i,F[i]);}
 
  125       G4cout << 
"G4ChargeExchangeProcess for " 
  146     G4cout << 
"G4ChargeExchangeProcess compute GHAD CS for element " 
  160   x *= factors->
GetValue(ptot, b)/std::pow(A, 0.42);
 
  161   if(theParticle == thePiPlus || theParticle == theProton ||
 
  162      theParticle == theKPlus  || theParticle == theANeutron)
 
  163     { x *= (1.0 - Z/A); }
 
  165   else if(theParticle == thePiMinus || theParticle == theNeutron ||
 
  166           theParticle == theKMinus  || theParticle == theAProton)
 
  170     if(ptot > 2.*
GeV) x *= 4.0*
GeV*
GeV/(ptot*ptot);
 
  183   return (p == thePiPlus || p == thePiMinus ||
 
  184           p == theProton || p == theNeutron ||
 
  185           p == theAProton|| p == theANeutron||
 
  186       p == theKPlus  || p == theKMinus  ||
 
  187       p == theK0S    || p == theK0L     ||
 
virtual G4bool IsApplicable(const G4ParticleDefinition &aParticleType)
 
G4double GetValue(G4double theEnergy, G4bool &isOutRange) const 
 
static G4AntiOmegaMinus * AntiOmegaMinus()
 
G4double GetKineticEnergy() const 
 
static G4OmegaMinus * OmegaMinus()
 
static G4KaonZeroLong * KaonZeroLong()
 
G4int GetPDGEncoding() const 
 
static G4AntiSigmaPlus * AntiSigmaPlus()
 
const G4String & GetParticleName() const 
 
static G4SigmaZero * SigmaZero()
 
static G4KaonMinus * KaonMinus()
 
G4double GetTotalMomentum() const 
 
static G4AntiSigmaMinus * AntiSigmaMinus()
 
G4ChargeExchangeProcess(const G4String &procName="chargeExchange")
 
virtual void BuildPhysicsTable(const G4ParticleDefinition &)
 
static G4XiZero * XiZero()
 
void AddDataSet(G4VCrossSectionDataSet *aDataSet)
 
G4GLOB_DLL std::ostream G4cout
 
virtual G4double GetElementCrossSection(const G4DynamicParticle *aParticle, const G4Element *anElement, const G4Material *mat=0)
 
static G4KaonZeroShort * KaonZeroShort()
 
static G4AntiProton * AntiProton()
 
static G4XiMinus * XiMinus()
 
G4CrossSectionDataStore * GetCrossSectionDataStore()
 
void PutValue(size_t index, G4double theValue)
 
static G4AntiXiMinus * AntiXiMinus()
 
static G4Triton * Triton()
 
G4double GetCrossSection(const G4DynamicParticle *, const G4Material *)
 
static G4Proton * Proton()
 
static G4PionPlus * PionPlus()
 
static G4Neutron * Neutron()
 
static G4PionZero * PionZero()
 
static G4Deuteron * Deuteron()
 
static G4SigmaMinus * SigmaMinus()
 
void DumpPhysicsTable(const G4ParticleDefinition &)
 
G4double GetPDGMass() const 
 
static G4AntiLambda * AntiLambda()
 
static G4PionMinus * PionMinus()
 
static G4AntiSigmaZero * AntiSigmaZero()
 
static G4AntiXiZero * AntiXiZero()
 
virtual ~G4ChargeExchangeProcess()
 
static G4SigmaPlus * SigmaPlus()
 
static G4Lambda * Lambda()
 
const G4String & GetName() const 
 
static G4KaonPlus * KaonPlus()
 
virtual void BuildPhysicsTable(const G4ParticleDefinition &aParticleType)
 
static G4AntiNeutron * AntiNeutron()
 
virtual void DumpPhysicsTable(const G4ParticleDefinition &aParticleType)