Geant4  10.00.p02
G4INCL::KinematicsUtils Namespace Reference

Functions

void transformToLocalEnergyFrame (Nucleus const *const n, Particle *const p)
 
G4double getLocalEnergy (Nucleus const *const n, Particle *const p)
 
ThreeVector makeBoostVector (Particle const *const p1, Particle const *const p2)
 
G4double totalEnergyInCM (Particle const *const p1, Particle const *const p2)
 
G4double squareTotalEnergyInCM (Particle const *const p1, Particle const *const p2)
 
G4double momentumInCM (Particle const *const p1, Particle const *const p2)
 gives the momentum in the CM frame of two particles. More...
 
G4double momentumInCM (const G4double E, const G4double M1, const G4double M2)
 
G4double momentumInLab (Particle const *const p1, Particle const *const p2)
 gives the momentum in the lab frame of two particles. More...
 
G4double momentumInLab (const G4double s, const G4double m1, const G4double m2)
 
G4double sumTotalEnergies (const ParticleList &)
 
ThreeVector sumMomenta (const ParticleList &)
 
G4double energy (const ThreeVector &p, const G4double m)
 
G4double invariantMass (const G4double E, const ThreeVector &p)
 
G4double squareInvariantMass (const G4double E, const ThreeVector &p)
 
G4double gammaFromKineticEnergy (const ParticleSpecies &p, const G4double EKin)
 

Function Documentation

G4double G4INCL::KinematicsUtils::energy ( const ThreeVector &  p,
const G4double  m 
)

Definition at line 156 of file G4INCLKinematicsUtils.cc.

References m, and G4INCL::ThreeVector::mag2().

Referenced by G4ForwardXrayTR::AngleDensity(), G4RDAugerTransition::AugerTransitionEnergy(), G4AugerTransition::AugerTransitionEnergy(), G4eIonisationSpectrum::AverageEnergy(), G4RDeIonisationSpectrum::AverageEnergy(), RunAction::BeginOfRunAction(), G4DecayProducts::Boost(), G4VXTRenergyLoss::BuildAngleTable(), G4PenelopeIonisationXSHandler::BuildDeltaTable(), G4LowEnergyIonisation::BuildLossTable(), G4RDVCrossSectionHandler::BuildMeanFreePathForMaterials(), G4VCrossSectionHandler::BuildMeanFreePathForMaterials(), G4LossTableBuilder::BuildRangeTable(), G4RDVeLowEnergyLoss::BuildRangeVector(), G4hRDEnergyLoss::BuildRangeVector(), G4IonParametrisedLossModel::BuildRangeVector(), G4PenelopeIonisationXSHandler::BuildXSTable(), G4PenelopeBremsstrahlungModel::BuildXSTable(), G4GDecay3::CalculateMomentumMagnitudes(), G4BinaryCascade::Capture(), G4Fancy3DNucleus::ChooseFermiMomenta(), G4IonChuFluctuationModel::ChuFluctuationModel(), StackingAction::ClassifyNewTrack(), G4LivermorePhotoElectricModel::ComputeCrossSectionPerAtom(), G4PEEffectFluoModel::ComputeCrossSectionPerAtom(), G4IonParametrisedLossModel::ComputeCrossSectionPerAtom(), G4BraggModel::ComputeCrossSectionPerElectron(), G4ICRU73QOModel::ComputeCrossSectionPerElectron(), G4BraggIonModel::ComputeCrossSectionPerElectron(), G4IonParametrisedLossModel::ComputeLossForStep(), G4PenelopeIonisationXSHandler::ComputeShellCrossSectionsPositron(), UltraDetectorConstruction::ConstructTableMaterials(), G4IonParametrisedLossModel::CorrectionsAlongStep(), G4NeutronHPThermalScattering::create_E_isoAng_from_energy(), G4DNAChemistryManager::CreateWaterMolecule(), G4PEEffectFluoModel::CrossSectionPerVolume(), G4XDeltaNstarTable::CrossSectionTable(), G4XDeltaDeltaTable::CrossSectionTable(), G4XNNstarTable::CrossSectionTable(), G4XDeltaDeltastarTable::CrossSectionTable(), G4XNDeltaTable::CrossSectionTable(), G4XNDeltastarTable::CrossSectionTable(), G4MuonDecayChannelWithSpin::DecayIt(), G4ScreenedNuclearRecoil::DepositEnergy(), G4AdjointeIonisationModel::DiffCrossSectionMoller(), GammaRayTelDigitizer::Digitize(), G4IonFluctuations::Factor(), RunAction::fillDetailedLeakage(), G4AtomicShell::G4AtomicShell(), G4RDAtomicShell::G4RDAtomicShell(), G4RPGReaction::GenerateNBodyEvent(), G4ReactionDynamics::GenerateNBodyEvent(), G4RPGReaction::GenerateNBodyEventT(), BrachyPrimaryGeneratorAction::GeneratePrimaries(), PrimaryGeneratorAction2::GeneratePrimaries(), UltraPrimaryGeneratorAction::GeneratePrimaries(), XrayFluoPrimaryGeneratorAction::GeneratePrimaries(), G4BlinePrimaryGeneratorAction::GeneratePrimaries(), DMXParticleSource::GeneratePrimaryVertex(), RE01TrackerHit::GetAttDefs(), RE01CalorimeterHit::GetAttDefs(), G4INCL::ClusteringModelIntercomparison::getCluster(), G4PAIxSection::GetElectronRange(), G4LowEnergyRayleigh::GetMeanFreePath(), G4LowEnergyCompton::GetMeanFreePath(), G4LowEnergyGammaConversion::GetMeanFreePath(), G4LowEnergyPolarizedCompton::GetMeanFreePath(), G4LowEnergyPhotoElectric::GetMeanFreePath(), G4ScreenedNuclearRecoil::GetMeanFreePath(), G4RPGInelastic::GetNormalizationConstant(), G4PenelopeRayleighModel::GetPMaxTable(), G4NeutronHPFissionERelease::GetPromptNeutronKinetic(), G4AtomicShells::GetTotalBindingEnergy(), G4NeutronHPFissionERelease::GetTotalEnergy(), G4VarNtp::getTotalEnergy(), G4NeutronHPDiscreteTwoBody::Init(), G4NeutronHPElasticFS::Init(), G4NeutronHPAngular::Init(), G4PhysicsOrderedFreeVector::InsertValues(), G4DecayProducts::IsChecked(), G4eIonisationParameters::LoadData(), G4RDeIonisationParameters::LoadData(), G4NeutronHPMadlandNixSpectrum::Madland(), G4BaryonWidth::MassDependentWidth(), G4BaryonPartialWidth::MassDependentWidth(), G4PixeCrossSectionHandler::MicroscopicCrossSection(), G4hImpactIonisation::MicroscopicCrossSection(), G4hICRU49Nuclear::NuclearStoppingPower(), G4hZiegler1985Nuclear::NuclearStoppingPower(), G4ICRU49NuclearStoppingModel::NuclearStoppingPower(), G4EmCorrections::NuclearStoppingPower(), G4BremsstrahlungParameters::Parameter(), G4RDBremsstrahlungParameters::Parameter(), G4INCL::Particle::Particle(), G4KL3DecayChannel::PhaseSpace(), G4IonDEDXHandler::PrintDEDXTable(), G4IonParametrisedLossModel::PrintDEDXTable(), G4eIonisationSpectrum::Probability(), G4RDeIonisationSpectrum::Probability(), G4INCL::ProjectileRemnant::ProjectileRemnant(), G4INCL::Cluster::putParticlesOffShell(), G4INCL::StandardPropagationModel::putSpectatorsOnShell(), G4NeutronHPThermalScattering::readAnE_isoAng(), G4NeutronHPThermalScattering::readAnE_P_E_isoAng(), G4PenelopePhotoElectricModel::ReadDataFile(), XrayFluoHPGeDetectorType::ResponseFunction(), G4NeutronHPNBodyPhaseSpace::Sample(), G4NeutronHPLegendreStore::Sample(), G4Generator2BS::SampleDirection(), G4eIonisationSpectrum::SampleEnergy(), G4RDeIonisationSpectrum::SampleEnergy(), G4PenelopeBremsstrahlungFS::SampleGammaEnergy(), G4AntiNuclElastic::SampleInvariantT(), G4PolarizedMollerBhabhaModel::SampleSecondaries(), G4KleinNishinaModel::SampleSecondaries(), G4PEEffectFluoModel::SampleSecondaries(), G4MollerBhabhaModel::SampleSecondaries(), G4BraggIonModel::SampleSecondaries(), G4BraggModel::SampleSecondaries(), G4ICRU73QOModel::SampleSecondaries(), G4IonParametrisedLossModel::SampleSecondaries(), G4INCL::InteractionAvatar::ViolationEMomentumFunctor::scaleParticleMomenta(), G4NeutronHPAngularP::SetEnergy(), G4NeutronHPLegendreTable::SetEnergy(), G4VXTRenergyLoss::SetEnergy(), G4INCL::Particle::setEnergy(), G4ContinuumGammaTransition::SetEnergyFrom(), G4DiscreteGammaTransition::SetEnergyFrom(), G4INCL::Particle::setFrozenEnergy(), G4hImpactIonisation::SetHighEnergyForAntiProtonParametrisation(), G4hImpactIonisation::SetHighEnergyForProtonParametrisation(), G4hImpactIonisation::SetLowEnergyForAntiProtonParametrisation(), G4hImpactIonisation::SetLowEnergyForProtonParametrisation(), G4ScreenedNuclearRecoil::SetMaxEnergyForScattering(), G4ScreenedNuclearRecoil::SetPhysicsCutoff(), G4hImpactIonisation::SetPixeProjectileMaxEnergy(), G4hImpactIonisation::SetPixeProjectileMinEnergy(), Run::SetPrimary(), G4ParticleChangeForGamma::SetProposedKineticEnergy(), G4ParticleChangeForLoss::SetProposedKineticEnergy(), G4ScreenedNuclearRecoil::SetRecoilCutoff(), G4INCL::StandardPropagationModel::shootParticle(), G4ForwardXrayTR::SpectralDensity(), G4XTRRegularRadModel::SpectralXTRdEdx(), G4RegularXTRadiator::SpectralXTRdEdx(), G4XTRTransparentRegRadModel::SpectralXTRdEdx(), G4TransparentRegXTRadiator::SpectralXTRdEdx(), Em10XTRTransparentRegRadModel::SpectralXTRdEdx(), G4VXTRenergyLoss::SpectralXTRdEdx(), G4AugerData::StartShellEnergy(), G4RDAugerData::StartShellEnergy(), RunAction::SumeTransf(), G4IonYangFluctuationModel::TheValue(), G4IonChuFluctuationModel::TheValue(), G4hBetheBlochModel::TheValue(), G4hNuclearStoppingModel::TheValue(), G4hIonEffChargeSquare::TheValue(), G4QAOLowEnergyLoss::TheValue(), G4PhaseSpaceDecayChannel::ThreeBodyDecayIt(), G4GeneralPhaseSpaceDecay::ThreeBodyDecayIt(), G4AblaInterface::toG4Particle(), G4INCLXXInterface::toG4Particle(), XrayTelRunAction::Update(), G4ParticleChangeForTransport::UpdateStepForAlongStep(), G4ParticleChange::UpdateStepForAlongStep(), BrachySteppingAction::UserSteppingAction(), exrdmSteppingAction::UserSteppingAction(), HadrontherapySteppingAction::UserSteppingAction(), IORTSteppingAction::UserSteppingAction(), G4NeutronHPWattSpectrum::Watt(), G4VXTRenergyLoss::XTRNSpectralDensity(), and G4IonYangFluctuationModel::YangFluctuationModel().

+ Here is the call graph for this function:

G4double G4INCL::KinematicsUtils::gammaFromKineticEnergy ( const ParticleSpecies &  p,
const G4double  EKin 
)
G4double G4INCL::KinematicsUtils::invariantMass ( const G4double  E,
const ThreeVector &  p 
)

Definition at line 160 of file G4INCLKinematicsUtils.cc.

References squareInvariantMass().

Referenced by G4INCL::ClusteringModelIntercomparison::findClusterStartingFrom(), and G4ReactionKinematics::TwoBodyScattering().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ThreeVector G4INCL::KinematicsUtils::makeBoostVector ( Particle const *const  p1,
Particle const *const  p2 
)

Definition at line 87 of file G4INCLKinematicsUtils.cc.

References G4INCL::Particle::getEnergy(), and G4INCL::Particle::getMomentum().

Referenced by G4INCL::InteractionAvatar::preInteraction(), and squareTotalEnergyInCM().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4INCL::KinematicsUtils::momentumInCM ( Particle const *const  p1,
Particle const *const  p2 
)

gives the momentum in the CM frame of two particles.

The formula is the following:

\[ p_{CM}^2 = \frac{z^2 - m_1^2 m_2^2}{2 z + m_1^2 + m_2^2} \]

where $z$ is the scalar product of the momentum four-vectors:

\[ z = E_1 E_2 - \vec{p}_1\cdot\vec{p}_2 \]

Parameters
p1pointer to particle 1
p2pointer to particle 2
Returns
the absolute value of the momentum of any of the two particles in the CM frame, in MeV/c.

Definition at line 105 of file G4INCLKinematicsUtils.cc.

References G4INCL::ThreeVector::dot(), G4INCL::Particle::getEnergy(), G4INCL::Particle::getMass(), G4INCL::Particle::getMomentum(), INCL_ERROR, and z.

Referenced by G4INCL::DeltaDecayChannel::computeDecayTime(), G4INCL::Nucleus::computeOneNucleonRecoilKinematics(), G4INCL::PhaseSpaceDecay::decay(), G4INCL::Nucleus::decayOutgoingDeltas(), G4INCL::DeltaProductionChannel::getFinalState(), G4INCL::DeltaDecayChannel::getFinalState(), and G4INCL::RecombinationChannel::getFinalState().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4INCL::KinematicsUtils::momentumInCM ( const G4double  E,
const G4double  M1,
const G4double  M2 
)

Definition at line 117 of file G4INCLKinematicsUtils.cc.

G4double G4INCL::KinematicsUtils::momentumInLab ( Particle const *const  p1,
Particle const *const  p2 
)

gives the momentum in the lab frame of two particles.

Assumes particle 1 carries all the momentum and particle 2 is at rest.

The formula is the following:

\[ p_{lab}^2 = \frac{s^2 - 2 s (m_1^2 + m_2^2) + {(m_1^2 - m_2^2)}^2}{4 m_2^2} \]

Parameters
p1pointer to particle 1
p2pointer to particle 2
Returns
the absolute value of the momentum of particle 1 in the lab frame, in MeV/c

Definition at line 133 of file G4INCLKinematicsUtils.cc.

References G4INCL::Particle::getMass(), m2, s, and squareTotalEnergyInCM().

Referenced by G4INCL::CrossSectionsINCL46::deltaProduction(), G4INCL::CrossSectionsINCL46::elasticNNLegacy(), G4INCL::DeltaProductionChannel::getFinalState(), G4INCL::ElasticChannel::getFinalState(), and G4INCL::CrossSectionsINCL46::recombination().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4INCL::KinematicsUtils::momentumInLab ( const G4double  s,
const G4double  m1,
const G4double  m2 
)

Definition at line 122 of file G4INCLKinematicsUtils.cc.

References INCL_ERROR, and m2.

G4double G4INCL::KinematicsUtils::squareInvariantMass ( const G4double  E,
const ThreeVector &  p 
)

Definition at line 164 of file G4INCLKinematicsUtils.cc.

References G4INCL::ThreeVector::mag2().

Referenced by invariantMass().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4INCL::KinematicsUtils::squareTotalEnergyInCM ( Particle const *const  p1,
Particle const *const  p2 
)

Definition at line 96 of file G4INCLKinematicsUtils.cc.

References G4INCL::Particle::getEnergy(), INCL_ERROR, G4INCL::ThreeVector::mag2(), and makeBoostVector().

Referenced by G4INCL::CrossSectionsINCL46::elasticNNLegacy(), G4INCL::StandardPropagationModel::generateBinaryCollisionAvatar(), G4INCL::BinaryCollisionAvatar::getChannel(), G4INCL::ElasticChannel::getFinalState(), momentumInLab(), G4INCL::CrossSectionsINCL46::recombination(), and totalEnergyInCM().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ThreeVector G4INCL::KinematicsUtils::sumMomenta ( const ParticleList &  pl)

Definition at line 148 of file G4INCLKinematicsUtils.cc.

G4double G4INCL::KinematicsUtils::sumTotalEnergies ( const ParticleList &  pl)

Definition at line 140 of file G4INCLKinematicsUtils.cc.

G4double G4INCL::KinematicsUtils::totalEnergyInCM ( Particle const *const  p1,
Particle const *const  p2 
)

Definition at line 92 of file G4INCLKinematicsUtils.cc.

References squareTotalEnergyInCM().

Referenced by G4INCL::CrossSectionsINCL46::deltaProduction(), G4INCL::DeltaProductionChannel::getFinalState(), G4INCL::RecombinationChannel::getFinalState(), and G4INCL::CrossSectionsINCL46::pionNucleon().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4INCL::KinematicsUtils::transformToLocalEnergyFrame ( Nucleus const *const  n,
Particle *const  p 
)

Definition at line 44 of file G4INCLKinematicsUtils.cc.

References G4INCL::Particle::adjustMomentumFromEnergy(), G4INCL::Particle::getEnergy(), getLocalEnergy(), and G4INCL::Particle::setEnergy().

Referenced by G4INCL::StandardPropagationModel::generateBinaryCollisionAvatar(), and G4INCL::InteractionAvatar::preInteractionLocalEnergy().

+ Here is the call graph for this function:

+ Here is the caller graph for this function: