34 #define INCLXX_IN_GEANT4_MODE 1
38 #ifndef G4INCLPHASESPACERAUBOLDLYNCH_HH
39 #define G4INCLPHASESPACERAUBOLDLYNCH_HH
77 std::vector<G4double>
rnd;
118 #endif // G4INCLPHASESPACERAUBOLDLYNCH_HH
static const size_t nMasslessParticlesTable
Abstract interface for the phase-space generators.
Generate momenta using the RauboldLynch method.
G4double prelog[wMaxNP]
Precalculated coefficients: -ln(n)
G4double computeWeight()
Compute the maximum possible weight.
static const size_t wMaxNE
void generateEvent(ParticleList &particles)
Generate an event.
std::vector< G4double > rnd
G4double computeMaximumWeightParam()
Compute the maximum possible weight using parametrizations.
static const G4double wMaxCorrectionX[wMaxNE]
G4double computeMaximumWeightNaive()
Compute the maximum possible weight using a naive algorithm.
std::vector< G4double > masses
PhaseSpaceRauboldLynch & operator=(PhaseSpaceRauboldLynch const &rhs)
Dummy assignment operator to silence Coverity warning.
static const G4double wMaxCorrectionY[wMaxNE]
InterpolationTable * wMaxMassless
Class for interpolating the of a 1-dimensional function.
std::vector< G4double > momentaCM
void initialize(ParticleList &particles)
Initialize internal structures (masses and sum of masses)
static const G4double wMaxMasslessY[wMaxNE]
InterpolationTable * wMaxCorrection
Simple interpolation table.
G4double getMaxGeneratedWeight() const
Return the largest generated weight.
Abstract interface for the phase-space generators.
std::vector< G4double > sumMasses
void generate(const G4double sqrtS, ParticleList &particles)
Generate momenta according to a uniform, Lorentz-invariant phase-space model.
static const G4double wMaxInterpolationMargin
std::vector< G4double > invariantMasses
static const size_t wMaxNP
G4double maxGeneratedWeight
virtual ~PhaseSpaceRauboldLynch()
static const G4double wMaxMasslessX[wMaxNE]