ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
Generate momenta using the RauboldLynch method. More...
Public Member Functions | |
PhaseSpaceRauboldLynch () | |
virtual | ~PhaseSpaceRauboldLynch () |
PhaseSpaceRauboldLynch (PhaseSpaceRauboldLynch const &other) | |
Dummy copy constructor to silence Coverity warning. | |
PhaseSpaceRauboldLynch & | operator= (PhaseSpaceRauboldLynch const &rhs) |
Dummy assignment operator to silence Coverity warning. | |
void | generate (const G4double sqrtS, ParticleList &particles) |
Generate momenta according to a uniform, Lorentz-invariant phase-space model. | |
G4double | getMaxGeneratedWeight () const |
Return the largest generated weight. | |
Public Member Functions inherited from G4INCL::IPhaseSpaceGenerator | |
IPhaseSpaceGenerator () | |
virtual | ~IPhaseSpaceGenerator () |
Private Member Functions | |
void | initialize (ParticleList &particles) |
Initialize internal structures (masses and sum of masses) | |
G4double | computeMaximumWeightNaive () |
Compute the maximum possible weight using a naive algorithm. | |
G4double | computeMaximumWeightParam () |
Compute the maximum possible weight using parametrizations. | |
G4double | computeWeight () |
Compute the maximum possible weight. | |
void | generateEvent (ParticleList &particles) |
Generate an event. | |
Private Attributes | |
std::vector< G4double > | masses |
std::vector< G4double > | sumMasses |
std::vector< G4double > | rnd |
std::vector< G4double > | invariantMasses |
std::vector< G4double > | momentaCM |
size_t | nParticles |
G4double | sqrtS |
G4double | availableEnergy |
G4double | maxGeneratedWeight |
InterpolationTable * | wMaxMassless |
InterpolationTable * | wMaxCorrection |
G4double | prelog [wMaxNP] |
Precalculated coefficients: -ln(n) | |
Static Private Attributes | |
static const size_t | nMasslessParticlesTable = 13 |
static const size_t | wMaxNE = 30 |
static const G4double | wMaxMasslessX [wMaxNE] |
static const G4double | wMaxMasslessY [wMaxNE] |
static const G4double | wMaxCorrectionX [wMaxNE] |
static const G4double | wMaxCorrectionY [wMaxNE] |
static const G4double | wMaxInterpolationMargin = std::log(1.5) |
static const size_t | wMaxNP = 20 |
Generate momenta using the RauboldLynch method.
Definition at line 49 of file G4INCLPhaseSpaceRauboldLynch.hh.
View newest version in sPHENIX GitHub at line 49 of file G4INCLPhaseSpaceRauboldLynch.hh
G4INCL::PhaseSpaceRauboldLynch::PhaseSpaceRauboldLynch | ( | ) |
Definition at line 180 of file G4INCLPhaseSpaceRauboldLynch.cc.
View newest version in sPHENIX GitHub at line 180 of file G4INCLPhaseSpaceRauboldLynch.cc
References prelog, wMaxCorrection, wMaxCorrectionX, wMaxCorrectionY, wMaxMassless, wMaxMasslessX, wMaxMasslessY, wMaxNE, and wMaxNP.
|
virtual |
Definition at line 200 of file G4INCLPhaseSpaceRauboldLynch.cc.
View newest version in sPHENIX GitHub at line 200 of file G4INCLPhaseSpaceRauboldLynch.cc
References wMaxCorrection, and wMaxMassless.
G4INCL::PhaseSpaceRauboldLynch::PhaseSpaceRauboldLynch | ( | PhaseSpaceRauboldLynch const & | other | ) |
Dummy copy constructor to silence Coverity warning.
|
private |
Compute the maximum possible weight using a naive algorithm.
Definition at line 257 of file G4INCLPhaseSpaceRauboldLynch.cc.
View newest version in sPHENIX GitHub at line 257 of file G4INCLPhaseSpaceRauboldLynch.cc
References masses, G4INCL::KinematicsUtils::momentumInCM(), nParticles, and sqrtS.
Referenced by computeMaximumWeightParam().
|
private |
Compute the maximum possible weight using parametrizations.
Definition at line 270 of file G4INCLPhaseSpaceRauboldLynch.cc.
View newest version in sPHENIX GitHub at line 270 of file G4INCLPhaseSpaceRauboldLynch.cc
References availableEnergy, computeMaximumWeightNaive(), INCL_WARN, nParticles, prelog, sumMasses, wMaxInterpolationMargin, wMaxMasslessX, wMaxNE, and wMaxNP.
Referenced by generate().
|
private |
Compute the maximum possible weight.
Definition at line 292 of file G4INCLPhaseSpaceRauboldLynch.cc.
View newest version in sPHENIX GitHub at line 292 of file G4INCLPhaseSpaceRauboldLynch.cc
References availableEnergy, invariantMasses, masses, momentaCM, G4INCL::KinematicsUtils::momentumInCM(), nParticles, rnd, G4INCL::Random::shoot(), sumMasses, and weight.
Referenced by generate().
|
virtual |
Generate momenta according to a uniform, Lorentz-invariant phase-space model.
This function will assign momenta to the particles in the list that is passed as an argument. The event is generated in the CM frame.
sqrtS | total centre-of-mass energy of the system |
particles | list of particles |
Implements G4INCL::IPhaseSpaceGenerator.
Definition at line 205 of file G4INCLPhaseSpaceRauboldLynch.cc.
View newest version in sPHENIX GitHub at line 205 of file G4INCLPhaseSpaceRauboldLynch.cc
References computeMaximumWeightParam(), computeWeight(), generateEvent(), INCL_WARN, initialize(), max, maxGeneratedWeight, nParticles, r, G4INCL::Random::shoot(), sqrtS, and weight.
|
private |
Generate an event.
Definition at line 319 of file G4INCLPhaseSpaceRauboldLynch.cc.
View newest version in sPHENIX GitHub at line 319 of file G4INCLPhaseSpaceRauboldLynch.cc
References G4INCL::Particle::adjustEnergyFromMomentum(), invariantMasses, G4INCL::ThreeVector::mag2(), momentaCM, momentum, G4INCL::Random::normVector(), nParticles, and G4INCL::Particle::setMomentum().
Referenced by generate().
G4double G4INCL::PhaseSpaceRauboldLynch::getMaxGeneratedWeight | ( | ) | const |
Return the largest generated weight.
Definition at line 345 of file G4INCLPhaseSpaceRauboldLynch.cc.
View newest version in sPHENIX GitHub at line 345 of file G4INCLPhaseSpaceRauboldLynch.cc
References maxGeneratedWeight.
|
private |
Initialize internal structures (masses and sum of masses)
Definition at line 236 of file G4INCLPhaseSpaceRauboldLynch.cc.
View newest version in sPHENIX GitHub at line 236 of file G4INCLPhaseSpaceRauboldLynch.cc
References availableEnergy, G4INCL::Particle::getMass(), invariantMasses, masses, momentaCM, nParticles, rnd, sqrtS, sumMasses, and Acts::Test::transform.
Referenced by generate().
PhaseSpaceRauboldLynch& G4INCL::PhaseSpaceRauboldLynch::operator= | ( | PhaseSpaceRauboldLynch const & | rhs | ) |
Dummy assignment operator to silence Coverity warning.
|
private |
Definition at line 82 of file G4INCLPhaseSpaceRauboldLynch.hh.
View newest version in sPHENIX GitHub at line 82 of file G4INCLPhaseSpaceRauboldLynch.hh
Referenced by computeMaximumWeightParam(), computeWeight(), and initialize().
|
private |
Definition at line 78 of file G4INCLPhaseSpaceRauboldLynch.hh.
View newest version in sPHENIX GitHub at line 78 of file G4INCLPhaseSpaceRauboldLynch.hh
Referenced by computeWeight(), generateEvent(), and initialize().
|
private |
Definition at line 75 of file G4INCLPhaseSpaceRauboldLynch.hh.
View newest version in sPHENIX GitHub at line 75 of file G4INCLPhaseSpaceRauboldLynch.hh
Referenced by computeMaximumWeightNaive(), computeWeight(), and initialize().
|
private |
Definition at line 83 of file G4INCLPhaseSpaceRauboldLynch.hh.
View newest version in sPHENIX GitHub at line 83 of file G4INCLPhaseSpaceRauboldLynch.hh
Referenced by generate(), and getMaxGeneratedWeight().
|
private |
Definition at line 79 of file G4INCLPhaseSpaceRauboldLynch.hh.
View newest version in sPHENIX GitHub at line 79 of file G4INCLPhaseSpaceRauboldLynch.hh
Referenced by computeWeight(), generateEvent(), and initialize().
|
staticprivate |
Definition at line 85 of file G4INCLPhaseSpaceRauboldLynch.hh.
View newest version in sPHENIX GitHub at line 85 of file G4INCLPhaseSpaceRauboldLynch.hh
|
private |
Definition at line 80 of file G4INCLPhaseSpaceRauboldLynch.hh.
View newest version in sPHENIX GitHub at line 80 of file G4INCLPhaseSpaceRauboldLynch.hh
Referenced by computeMaximumWeightNaive(), computeMaximumWeightParam(), computeWeight(), generate(), generateEvent(), and initialize().
Precalculated coefficients: -ln(n)
Definition at line 99 of file G4INCLPhaseSpaceRauboldLynch.hh.
View newest version in sPHENIX GitHub at line 99 of file G4INCLPhaseSpaceRauboldLynch.hh
Referenced by computeMaximumWeightParam(), and PhaseSpaceRauboldLynch().
|
private |
Definition at line 77 of file G4INCLPhaseSpaceRauboldLynch.hh.
View newest version in sPHENIX GitHub at line 77 of file G4INCLPhaseSpaceRauboldLynch.hh
Referenced by computeWeight(), and initialize().
|
private |
Definition at line 81 of file G4INCLPhaseSpaceRauboldLynch.hh.
View newest version in sPHENIX GitHub at line 81 of file G4INCLPhaseSpaceRauboldLynch.hh
Referenced by computeMaximumWeightNaive(), generate(), and initialize().
|
private |
Definition at line 76 of file G4INCLPhaseSpaceRauboldLynch.hh.
View newest version in sPHENIX GitHub at line 76 of file G4INCLPhaseSpaceRauboldLynch.hh
Referenced by computeMaximumWeightParam(), computeWeight(), and initialize().
|
private |
Definition at line 94 of file G4INCLPhaseSpaceRauboldLynch.hh.
View newest version in sPHENIX GitHub at line 94 of file G4INCLPhaseSpaceRauboldLynch.hh
Referenced by PhaseSpaceRauboldLynch(), and ~PhaseSpaceRauboldLynch().
|
staticprivate |
Definition at line 89 of file G4INCLPhaseSpaceRauboldLynch.hh.
View newest version in sPHENIX GitHub at line 89 of file G4INCLPhaseSpaceRauboldLynch.hh
Referenced by PhaseSpaceRauboldLynch().
|
staticprivate |
Definition at line 90 of file G4INCLPhaseSpaceRauboldLynch.hh.
View newest version in sPHENIX GitHub at line 90 of file G4INCLPhaseSpaceRauboldLynch.hh
Referenced by PhaseSpaceRauboldLynch().
|
staticprivate |
Definition at line 91 of file G4INCLPhaseSpaceRauboldLynch.hh.
View newest version in sPHENIX GitHub at line 91 of file G4INCLPhaseSpaceRauboldLynch.hh
Referenced by computeMaximumWeightParam().
|
private |
Definition at line 93 of file G4INCLPhaseSpaceRauboldLynch.hh.
View newest version in sPHENIX GitHub at line 93 of file G4INCLPhaseSpaceRauboldLynch.hh
Referenced by PhaseSpaceRauboldLynch(), and ~PhaseSpaceRauboldLynch().
|
staticprivate |
Definition at line 87 of file G4INCLPhaseSpaceRauboldLynch.hh.
View newest version in sPHENIX GitHub at line 87 of file G4INCLPhaseSpaceRauboldLynch.hh
Referenced by computeMaximumWeightParam(), and PhaseSpaceRauboldLynch().
|
staticprivate |
Definition at line 88 of file G4INCLPhaseSpaceRauboldLynch.hh.
View newest version in sPHENIX GitHub at line 88 of file G4INCLPhaseSpaceRauboldLynch.hh
Referenced by PhaseSpaceRauboldLynch().
|
staticprivate |
Definition at line 86 of file G4INCLPhaseSpaceRauboldLynch.hh.
View newest version in sPHENIX GitHub at line 86 of file G4INCLPhaseSpaceRauboldLynch.hh
Referenced by computeMaximumWeightParam(), and PhaseSpaceRauboldLynch().
|
staticprivate |
Definition at line 96 of file G4INCLPhaseSpaceRauboldLynch.hh.
View newest version in sPHENIX GitHub at line 96 of file G4INCLPhaseSpaceRauboldLynch.hh
Referenced by computeMaximumWeightParam(), and PhaseSpaceRauboldLynch().