8 #ifndef SRC_INCLUDE_FORMFACTORS_H_
9 #define SRC_INCLUDE_FORMFACTORS_H_
37 constexpr
double R = 1. /
hbarc;
38 const double x = p_ab *
R;
39 const double x2 = x * x;
41 return x2 / (1. + x2);
43 std::complex<double> g_prevprev(1, 0);
44 std::complex<double> g_prev(1, -x);
46 for (
int l = 1; l < L; l++) {
49 static_cast<double>(2 * l + 1) * g_prev - x2 * g_prevprev;
53 const double denom = std::norm(g_prev);
75 inline double post_ff_sqr(
double m,
double M0,
double srts0,
double L) {
76 const auto L4 = L * L * L * L;
77 const auto M2 = M0 * M0;
78 const auto s0 = srts0 * srts0;
79 const auto sminus = (s0 - M2) * 0.5;
80 const auto splus = m * m - (s0 + M2) * 0.5;
81 const auto FF = (L4 + sminus * sminus) / (L4 + splus * splus);
100 return 1. + 5.5 * mass * mass;
102 const double lambda_eta = 0.716;
103 const double m_over_eta = mass / lambda_eta;
104 return 1. / (1. - m_over_eta * m_over_eta);
121 switch (pdg.
code()) {
123 constexpr
double lambda = 0.65;
124 constexpr
double gamma = 0.075;
125 constexpr
double lambda_sqr = lambda * lambda;
126 constexpr
double gamma_sqr = gamma * gamma;
127 const double tmp = lambda_sqr - mass * mass;
128 const double denom = tmp * tmp + lambda_sqr * gamma_sqr;
129 return lambda_sqr * lambda_sqr / denom;
151 #endif // SRC_INCLUDE_FORMFACTORS_H_