Geant4  10.01.p03
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 157 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(), G4PolarizedCompton::BuildAsymmetryTable(), G4KokoulinMuonNuclearXS::BuildCrossSectionTable(), G4PenelopeIonisationXSHandler::BuildDeltaTable(), G4LowEnergyIonisation::BuildLossTable(), G4RDVCrossSectionHandler::BuildMeanFreePathForMaterials(), G4VCrossSectionHandler::BuildMeanFreePathForMaterials(), G4LossTableBuilder::BuildRangeTable(), G4RDVeLowEnergyLoss::BuildRangeVector(), G4hRDEnergyLoss::BuildRangeVector(), G4IonParametrisedLossModel::BuildRangeVector(), G4PenelopeIonisationXSHandler::BuildXSTable(), G4PenelopeBremsstrahlungModel::BuildXSTable(), G4GDecay3::CalculateMomentumMagnitudes(), G4OpRayleigh::CalculateRayleighMeanFreePaths(), G4BinaryCascade::Capture(), G4Fancy3DNucleus::ChooseFermiMomenta(), G4IonChuFluctuationModel::ChuFluctuationModel(), StackingAction::ClassifyNewTrack(), G4LivermorePhotoElectricModel::ComputeCrossSectionPerAtom(), G4PEEffectFluoModel::ComputeCrossSectionPerAtom(), G4IonParametrisedLossModel::ComputeCrossSectionPerAtom(), G4BraggIonModel::ComputeCrossSectionPerElectron(), G4BraggModel::ComputeCrossSectionPerElectron(), G4ICRU73QOModel::ComputeCrossSectionPerElectron(), G4eeToHadronsMultiModel::ComputeCrossSectionPerElectron(), G4IonParametrisedLossModel::ComputeLossForStep(), G4PenelopeIonisationXSHandler::ComputeShellCrossSectionsPositron(), UltraDetectorConstruction::ConstructTableMaterials(), G4IonParametrisedLossModel::CorrectionsAlongStep(), G4ParticleHPThermalScattering::create_E_isoAng_from_energy(), G4NeutronHPThermalScattering::create_E_isoAng_from_energy(), G4DNAChemistryManager::CreateWaterMolecule(), G4LivermorePhotoElectricModel::CrossSectionPerVolume(), G4PEEffectFluoModel::CrossSectionPerVolume(), G4XDeltaNstarTable::CrossSectionTable(), G4XDeltaDeltaTable::CrossSectionTable(), G4XNNstarTable::CrossSectionTable(), G4XDeltaDeltastarTable::CrossSectionTable(), G4XNDeltaTable::CrossSectionTable(), G4XNDeltastarTable::CrossSectionTable(), G4MuonDecayChannelWithSpin::DecayIt(), G4ScreenedNuclearRecoil::DepositEnergy(), Run::DetailedLeakage(), G4AdjointeIonisationModel::DiffCrossSectionMoller(), GammaRayTelDigitizer::Digitize(), G4IonFluctuations::Factor(), G4AtomicShell::G4AtomicShell(), G4RDAtomicShell::G4RDAtomicShell(), G4RPGReaction::GenerateNBodyEvent(), G4RPGReaction::GenerateNBodyEventT(), BrachyPrimaryGeneratorAction::GeneratePrimaries(), PrimaryGeneratorAction2::GeneratePrimaries(), UltraPrimaryGeneratorAction::GeneratePrimaries(), XrayFluoPrimaryGeneratorAction::GeneratePrimaries(), G4BlinePrimaryGeneratorAction::GeneratePrimaries(), DMXParticleSource::GeneratePrimaryVertex(), RE01TrackerHit::GetAttDefs(), RE01CalorimeterHit::GetAttDefs(), G4INCL::ClusteringModelIntercomparison::getCluster(), G4PAIxSection::GetElectronRange(), XrayFluoAnalysisManager::GetEmittedParticleEnergyAndType(), G4LowEnergyRayleigh::GetMeanFreePath(), G4LowEnergyCompton::GetMeanFreePath(), G4LowEnergyGammaConversion::GetMeanFreePath(), G4LowEnergyPolarizedCompton::GetMeanFreePath(), G4LowEnergyPhotoElectric::GetMeanFreePath(), G4ScreenedNuclearRecoil::GetMeanFreePath(), G4RPGInelastic::GetNormalizationConstant(), G4PenelopeRayleighModel::GetPMaxTable(), G4NeutronHPFissionERelease::GetPromptNeutronKinetic(), G4ParticleHPFissionERelease::GetPromptNeutronKinetic(), G4AtomicShells::GetTotalBindingEnergy(), G4NeutronHPFissionERelease::GetTotalEnergy(), G4ParticleHPFissionERelease::GetTotalEnergy(), G4VarNtp::getTotalEnergy(), G4NeutronHPDiscreteTwoBody::Init(), G4ParticleHPDiscreteTwoBody::Init(), G4NeutronHPElasticFS::Init(), G4ParticleHPElasticFS::Init(), G4ParticleHPAngular::Init(), G4NeutronHPAngular::Init(), G4PhysicsOrderedFreeVector::InsertValues(), G4DecayProducts::IsChecked(), G4eIonisationParameters::LoadData(), G4RDeIonisationParameters::LoadData(), XrayFluoAnalysisManager::LoadGunData(), G4NeutronHPMadlandNixSpectrum::Madland(), G4ParticleHPMadlandNixSpectrum::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(), G4ParticleHPThermalScattering::readAnE_isoAng(), G4NeutronHPThermalScattering::readAnE_isoAng(), G4ParticleHPThermalScattering::readAnE_P_E_isoAng(), G4NeutronHPThermalScattering::readAnE_P_E_isoAng(), G4PenelopePhotoElectricModel::ReadDataFile(), XrayFluoHPGeDetectorType::ResponseFunction(), G4NeutronHPNBodyPhaseSpace::Sample(), G4ParticleHPNBodyPhaseSpace::Sample(), G4NeutronHPLegendreStore::Sample(), G4ParticleHPLegendreStore::Sample(), G4Generator2BS::SampleDirection(), G4eIonisationSpectrum::SampleEnergy(), G4RDeIonisationSpectrum::SampleEnergy(), G4PenelopeBremsstrahlungFS::SampleGammaEnergy(), G4AntiNuclElastic::SampleInvariantT(), G4PolarizedMollerBhabhaModel::SampleSecondaries(), G4KleinNishinaModel::SampleSecondaries(), G4PEEffectFluoModel::SampleSecondaries(), G4eeToHadronsMultiModel::SampleSecondaries(), G4MollerBhabhaModel::SampleSecondaries(), G4BraggIonModel::SampleSecondaries(), G4BraggModel::SampleSecondaries(), G4ICRU73QOModel::SampleSecondaries(), G4IonParametrisedLossModel::SampleSecondaries(), G4INCL::InteractionAvatar::ViolationEMomentumFunctor::scaleParticleMomenta(), G4NeutronHPAngularP::SetEnergy(), G4ParticleHPAngularP::SetEnergy(), G4NeutronHPLegendreTable::SetEnergy(), G4ParticleHPLegendreTable::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(), G4XTRTransparentRegRadModel::SpectralXTRdEdx(), G4RegularXTRadiator::SpectralXTRdEdx(), G4TransparentRegXTRadiator::SpectralXTRdEdx(), Em10XTRTransparentRegRadModel::SpectralXTRdEdx(), G4VXTRenergyLoss::SpectralXTRdEdx(), G4AugerData::StartShellEnergy(), G4RDAugerData::StartShellEnergy(), Run::SumeTransf(), G4IonYangFluctuationModel::TheValue(), G4IonChuFluctuationModel::TheValue(), G4hBetheBlochModel::TheValue(), G4hNuclearStoppingModel::TheValue(), G4hIonEffChargeSquare::TheValue(), G4QAOLowEnergyLoss::TheValue(), G4PhaseSpaceDecayChannel::ThreeBodyDecayIt(), G4GeneralPhaseSpaceDecay::ThreeBodyDecayIt(), G4AblaInterface::toG4Particle(), G4INCLXXInterface::toG4Particle(), G4ParticleChangeForTransport::UpdateStepForAlongStep(), G4ParticleChange::UpdateStepForAlongStep(), BrachySteppingAction::UserSteppingAction(), exrdmSteppingAction::UserSteppingAction(), HadrontherapySteppingAction::UserSteppingAction(), IORTSteppingAction::UserSteppingAction(), G4NeutronHPWattSpectrum::Watt(), G4ParticleHPWattSpectrum::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 161 of file G4INCLKinematicsUtils.cc.

References squareInvariantMass().

Referenced by G4INCL::ClusteringModelIntercomparison::findClusterStartingFrom().

+ 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 88 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 106 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::PhaseSpaceRauboldLynch::computeMaximumWeightNaive(), G4INCL::Nucleus::computeOneNucleonRecoilKinematics(), G4INCL::PhaseSpaceRauboldLynch::computeWeight(), G4INCL::Nucleus::decayOutgoingDeltas(), G4INCL::DeltaProductionChannel::fillFinalState(), G4INCL::DeltaDecayChannel::fillFinalState(), G4INCL::RecombinationChannel::fillFinalState(), and G4INCL::PhaseSpaceKopylov::generate().

+ 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 118 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 134 of file G4INCLKinematicsUtils.cc.

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

Referenced by G4INCL::CrossSectionsINCL46::elasticNNLegacy(), G4INCL::DeltaProductionChannel::fillFinalState(), G4INCL::ElasticChannel::fillFinalState(), G4INCL::CrossSectionsINCL46::NDeltaToNN(), G4INCL::CrossSectionsMultiPions::NNElastic(), G4INCL::CrossSectionsMultiPions::NNElasticFixed(), G4INCL::CrossSectionsMultiPions::NNOnePiOrDelta(), G4INCL::CrossSectionsMultiPions::NNThreePi(), G4INCL::CrossSectionsINCL46::NNToNDelta(), G4INCL::CrossSectionsMultiPions::NNTotFixed(), G4INCL::CrossSectionsMultiPions::NNTwoPi(), G4INCL::CrossSectionsMultiPions::piNIne(), G4INCL::CrossSectionsMultiPions::piNOnePi(), and G4INCL::CrossSectionsMultiPions::piNTwoPi().

+ 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 123 of file G4INCLKinematicsUtils.cc.

References INCL_ERROR, and m2.

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

Definition at line 165 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 97 of file G4INCLKinematicsUtils.cc.

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

Referenced by G4INCL::CrossSectionsINCL46::elasticNNLegacy(), G4INCL::ElasticChannel::fillFinalState(), G4INCL::StandardPropagationModel::generateBinaryCollisionAvatar(), G4INCL::BinaryCollisionAvatar::getChannel(), momentumInLab(), G4INCL::CrossSectionsINCL46::NDeltaToNN(), G4INCL::CrossSectionsMultiPions::NDeltaToNN(), G4INCL::CrossSectionsMultiPions::NNElastic(), G4INCL::CrossSectionsMultiPions::NNFourPi(), G4INCL::CrossSectionsMultiPions::NNTot(), 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 149 of file G4INCLKinematicsUtils.cc.

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

Definition at line 141 of file G4INCLKinematicsUtils.cc.

G4double G4INCL::KinematicsUtils::totalEnergyInCM ( Particle const *const  p1,
Particle const *const  p2 
)
void G4INCL::KinematicsUtils::transformToLocalEnergyFrame ( Nucleus const *const  n,
Particle *const  p 
)

Definition at line 45 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: