|
| G4ChargeExchangeProcess (const G4String &procName="chargeExchange") |
|
virtual | ~G4ChargeExchangeProcess () |
|
virtual G4bool | IsApplicable (const G4ParticleDefinition &aParticleType) |
|
virtual void | BuildPhysicsTable (const G4ParticleDefinition &aParticleType) |
|
virtual void | DumpPhysicsTable (const G4ParticleDefinition &aParticleType) |
|
virtual G4double | GetElementCrossSection (const G4DynamicParticle *aParticle, const G4Element *anElement, const G4Material *mat=0) |
|
| G4HadronicProcess (const G4String &processName="Hadronic", G4ProcessType procType=fHadronic) |
|
| G4HadronicProcess (const G4String &processName, G4HadronicProcessType subType) |
|
virtual | ~G4HadronicProcess () |
|
void | RegisterMe (G4HadronicInteraction *a) |
|
G4double | GetElementCrossSection (const G4DynamicParticle *part, const G4Element *elm, const G4Material *mat=0) |
|
G4double | GetMicroscopicCrossSection (const G4DynamicParticle *part, const G4Element *elm, const G4Material *mat=0) |
|
virtual G4VParticleChange * | PostStepDoIt (const G4Track &aTrack, const G4Step &aStep) |
|
virtual void | PreparePhysicsTable (const G4ParticleDefinition &) |
|
void | DumpPhysicsTable (const G4ParticleDefinition &p) |
|
void | AddDataSet (G4VCrossSectionDataSet *aDataSet) |
|
G4EnergyRangeManager * | GetManagerPointer () |
|
G4double | GetMeanFreePath (const G4Track &aTrack, G4double, G4ForceCondition *) |
|
const G4Nucleus * | GetTargetNucleus () const |
|
const G4Isotope * | GetTargetIsotope () |
|
virtual void | ProcessDescription (std::ostream &outFile) const |
|
void | BiasCrossSectionByFactor (G4double aScale) |
|
void | SetEpReportLevel (G4int level) |
|
void | SetEnergyMomentumCheckLevels (G4double relativeLevel, G4double absoluteLevel) |
|
std::pair< G4double, G4double > | GetEnergyMomentumCheckLevels () const |
|
G4CrossSectionDataStore * | GetCrossSectionDataStore () |
|
void | MultiplyCrossSectionBy (G4double factor) |
|
| G4VDiscreteProcess (const G4String &, G4ProcessType aType=fNotDefined) |
|
| G4VDiscreteProcess (G4VDiscreteProcess &) |
|
virtual | ~G4VDiscreteProcess () |
|
virtual G4double | PostStepGetPhysicalInteractionLength (const G4Track &track, G4double previousStepSize, G4ForceCondition *condition) |
|
virtual G4double | AlongStepGetPhysicalInteractionLength (const G4Track &, G4double, G4double, G4double &, G4GPILSelection *) |
|
virtual G4double | AtRestGetPhysicalInteractionLength (const G4Track &, G4ForceCondition *) |
|
virtual G4VParticleChange * | AtRestDoIt (const G4Track &, const G4Step &) |
|
virtual G4VParticleChange * | AlongStepDoIt (const G4Track &, const G4Step &) |
|
| G4VProcess (const G4String &aName="NoName", G4ProcessType aType=fNotDefined) |
|
| G4VProcess (const G4VProcess &right) |
|
virtual | ~G4VProcess () |
|
G4int | operator== (const G4VProcess &right) const |
|
G4int | operator!= (const G4VProcess &right) const |
|
G4double | GetCurrentInteractionLength () const |
|
void | SetPILfactor (G4double value) |
|
G4double | GetPILfactor () const |
|
G4double | AlongStepGPIL (const G4Track &track, G4double previousStepSize, G4double currentMinimumStep, G4double &proposedSafety, G4GPILSelection *selection) |
|
G4double | AtRestGPIL (const G4Track &track, G4ForceCondition *condition) |
|
G4double | PostStepGPIL (const G4Track &track, G4double previousStepSize, G4ForceCondition *condition) |
|
virtual G4bool | StorePhysicsTable (const G4ParticleDefinition *, const G4String &, G4bool) |
|
virtual G4bool | RetrievePhysicsTable (const G4ParticleDefinition *, const G4String &, G4bool) |
|
const G4String & | GetPhysicsTableFileName (const G4ParticleDefinition *, const G4String &directory, const G4String &tableName, G4bool ascii=false) |
|
const G4String & | GetProcessName () const |
|
G4ProcessType | GetProcessType () const |
|
void | SetProcessType (G4ProcessType) |
|
G4int | GetProcessSubType () const |
|
void | SetProcessSubType (G4int) |
|
virtual void | StartTracking (G4Track *) |
|
virtual void | EndTracking () |
|
virtual void | SetProcessManager (const G4ProcessManager *) |
|
virtual const G4ProcessManager * | GetProcessManager () |
|
virtual void | ResetNumberOfInteractionLengthLeft () |
|
G4double | GetNumberOfInteractionLengthLeft () const |
|
G4double | GetTotalNumberOfInteractionLengthTraversed () const |
|
G4bool | isAtRestDoItIsEnabled () const |
|
G4bool | isAlongStepDoItIsEnabled () const |
|
G4bool | isPostStepDoItIsEnabled () const |
|
virtual void | DumpInfo () const |
|
void | SetVerboseLevel (G4int value) |
|
G4int | GetVerboseLevel () const |
|
virtual void | SetMasterProcess (G4VProcess *masterP) |
|
const G4VProcess * | GetMasterProcess () const |
|
virtual void | BuildWorkerPhysicsTable (const G4ParticleDefinition &part) |
|
virtual void | PrepareWorkerPhysicsTable (const G4ParticleDefinition &) |
|
Definition at line 53 of file G4ChargeExchangeProcess.hh.
G4ChargeExchangeProcess::G4ChargeExchangeProcess |
( |
const G4String & |
procName = "chargeExchange" | ) |
|
Definition at line 54 of file G4ChargeExchangeProcess.cc.
References G4HadronicProcess::AddDataSet(), G4Alpha::Alpha(), G4AntiLambda::AntiLambda(), G4AntiNeutron::AntiNeutron(), G4AntiOmegaMinus::AntiOmegaMinus(), G4AntiProton::AntiProton(), G4AntiSigmaMinus::AntiSigmaMinus(), G4AntiSigmaPlus::AntiSigmaPlus(), G4AntiSigmaZero::AntiSigmaZero(), G4AntiXiMinus::AntiXiMinus(), G4AntiXiZero::AntiXiZero(), G4Deuteron::Deuteron(), G4He3::He3(), G4KaonMinus::KaonMinus(), G4KaonPlus::KaonPlus(), G4KaonZeroLong::KaonZeroLong(), G4KaonZeroShort::KaonZeroShort(), G4Lambda::Lambda(), python.hepunit::MeV, G4Neutron::Neutron(), G4OmegaMinus::OmegaMinus(), G4PionMinus::PionMinus(), G4PionPlus::PionPlus(), G4PionZero::PionZero(), G4Proton::Proton(), G4SigmaMinus::SigmaMinus(), G4SigmaPlus::SigmaPlus(), G4SigmaZero::SigmaZero(), G4Triton::Triton(), G4VProcess::verboseLevel, G4XiMinus::XiMinus(), and G4XiZero::XiZero().
static G4AntiOmegaMinus * AntiOmegaMinus()
static G4OmegaMinus * OmegaMinus()
static G4KaonZeroLong * KaonZeroLong()
static G4AntiSigmaPlus * AntiSigmaPlus()
static G4SigmaZero * SigmaZero()
static G4KaonMinus * KaonMinus()
static G4AntiSigmaMinus * AntiSigmaMinus()
static G4XiZero * XiZero()
void AddDataSet(G4VCrossSectionDataSet *aDataSet)
static G4KaonZeroShort * KaonZeroShort()
static G4AntiProton * AntiProton()
static G4XiMinus * XiMinus()
static G4AntiXiMinus * AntiXiMinus()
static G4Triton * Triton()
static G4Proton * Proton()
static G4PionPlus * PionPlus()
static G4Neutron * Neutron()
static G4PionZero * PionZero()
static G4Deuteron * Deuteron()
static G4SigmaMinus * SigmaMinus()
static G4AntiLambda * AntiLambda()
static G4PionMinus * PionMinus()
static G4AntiSigmaZero * AntiSigmaZero()
static G4AntiXiZero * AntiXiZero()
G4HadronicProcess(const G4String &processName="Hadronic", G4ProcessType procType=fHadronic)
static G4SigmaPlus * SigmaPlus()
static G4Lambda * Lambda()
static G4KaonPlus * KaonPlus()
static G4AntiNeutron * AntiNeutron()
Definition at line 132 of file G4ChargeExchangeProcess.cc.
References test::b, G4cout, G4endl, G4CrossSectionDataStore::GetCrossSection(), G4DynamicParticle::GetKineticEnergy(), G4Element::GetN(), G4Element::GetName(), G4ParticleDefinition::GetParticleName(), G4ParticleDefinition::GetPDGMass(), G4DynamicParticle::GetTotalMomentum(), G4PhysicsVector::GetValue(), G4Element::GetZ(), python.hepunit::GeV, iz, python.hepunit::millibarn, G4VProcess::verboseLevel, and test::x.
143 if(iz == 1 || dp->GetKineticEnergy() < thEnergy)
return x;
146 G4cout <<
"G4ChargeExchangeProcess compute GHAD CS for element "
153 <<
" E(MeV)= " << dp->GetKineticEnergy()
159 G4double ptot = dp->GetTotalMomentum();
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);
G4double GetValue(G4double theEnergy, G4bool &isOutRange) const
const G4String & GetParticleName() const
G4GLOB_DLL std::ostream G4cout
G4double GetCrossSection(const G4DynamicParticle *, const G4Material *)
G4double GetPDGMass() const