8 #ifndef SRC_INCLUDE_TABULATION_H_ 9 #define SRC_INCLUDE_TABULATION_H_ 44 Tabulation(
double x_min,
double range,
int num,
45 std::function<
double(
double)> f);
56 double get_value_step(
double x)
const;
72 double get_value_linear(
106 if (sqrts <= stable_mass + resonance_mass) {
113 pCM(sqrts, stable_mass, resonance_mass);
136 if (sqrts <= res_mass_1 + res_mass_2) {
143 pCM(sqrts, res_mass_1, res_mass_2);
160 const double m_stable = stable.
mass();
161 return make_unique<Tabulation>(
162 m_min + m_stable, range, 100, [&](
double srts) {
163 return integrate(m_min, srts - m_stable, [&](
double m) {
183 return make_unique<Tabulation>(m1_min + m2_min, range, 100, [&](
double srts) {
184 const double m1_max = srts - m2_min;
185 const double m2_max = srts - m1_min;
187 m1_min, m1_max, m2_min, m2_max, [&](
double m1,
double m2) {
195 #endif // SRC_INCLUDE_TABULATION_H_ static Integrator2dCuhre integrate2d(1E7)
double spec_func_integrand_1res(double resonance_mass, double sqrts, double stable_mass, const ParticleType &type)
Spectral function integrand for GSL integration, with one resonance in the final state (the second pa...
double spec_func_integrand_2res(double sqrts, double res_mass_1, double res_mass_2, const ParticleType &t1, const ParticleType &t2)
Spectral function integrand for GSL integration, with two resonances in the final state...
double spectral_function(double m) const
Full spectral function of the resonance (relativistic Breit-Wigner distribution with mass-dependent ...
A C++ interface for numerical integration in two dimensions with the Cuba Cuhre integration function...
std::unique_ptr< Tabulation > spectral_integral_unstable(Integrator2dCuhre &integrate2d, const ParticleType &res1, const ParticleType &res2, double range)
Create a table for the spectral integral of two resonances.
std::unique_ptr< Tabulation > spectral_integral_semistable(Integrator &integrate, const ParticleType &resonance, const ParticleType &stable, double range)
Create a table for the spectral integral of a resonance and a stable particle.
Extrapolation
The kind of extrapolation used by the tabulation.
A class for storing a one-dimensional lookup table of floating-point values.
double min_mass_kinematic() const
The minimum mass of the resonance that is kinematically allowed.
const double x_min_
lower bound for tabulation
Particle type contains the static properties of a particle species.
const double x_max_
upper bound for tabulation
A C++ interface for numerical integration in one dimension with the GSL CQUAD integration functions...
T pCM(const T sqrts, const T mass_a, const T mass_b) noexcept
const double inv_dx_
inverse step size 1/dx
std::vector< double > values_
vector for storing tabulated values
static Integrator integrate