7 #include "Pythia8/PhaseSpace.h" 
   37     virtual double multiplySigmaBy(
const SigmaProcess* sigmaProcessPtr, 
const PhaseSpace* phaseSpacePtr, 
bool ) {
 
   40       if (sigmaProcessPtr->nFinal() != 1) 
return 0.;
 
   46       const int idRes   = sigmaProcessPtr->resonanceA();
 
   47       const double mRes = particleDataPtr->m0(idRes);
 
   48       const double wRes = particleDataPtr->mWidth(idRes);
 
   49       const double m2Res   = mRes*mRes;
 
   50       const double GamMRat = wRes/mRes;
 
   51       const double sHat = phaseSpacePtr->sHat();
 
   52       const double rH = std::sqrt(sHat);
 
   53       const double weightBW = pow2(sHat - m2Res) + pow2(sHat * GamMRat);
 
   58       double weightpT_G = 1;
 
   70           const double p0 = 12.4176;
 
   71           const double p1 = -0.364611;
 
   72           const double p2 = 0.00293827;
 
   73           const double p3 = 4.3106e-07;
 
   74           const double p4 = -2.61662e-09;
 
   75           const double p5 = 1.33037e-12;
 
   76           const double p6 = -2.07848e-16;
 
   82           const double p0 = 41237.9;
 
   83           const double p1 = -95.9745;
 
   84           const double p2 = 0.0979667;
 
   85           const double p3 = -5.14644e-05;
 
   86           const double p4 = 1.45857e-08;
 
   87           const double p5 = -2.13169e-12;
 
   88           const double p6 = 1.26473e-16;
 
   94           const double p0 = 1.11676e+06;
 
   95           const double p1 = -925.647;
 
   96           const double p2 = 0.311595;
 
   97           const double p3 = -5.38465e-05;
 
   98           const double p4 = 4.92286e-09;
 
   99           const double p5 = -2.1452e-13;
 
  100           const double p6 = 2.97112e-18;
 
  103         else if (rH <= 6500) {
 
  106           const double p0 = 9.70964e+13;
 
  107           const double p1 = -4.17142e-03;
 
  108           const double p2 = -3.06415e-03;
 
  111         weight = weightBW * weightPL;
 
  120             const double p0 = 0.00384785;
 
  121             const double p1 = -1.72701e-05;
 
  122             const double p2 = 2.25365e-08;
 
  123             const double p3 = -6.15774e-12;
 
  124             const double p4 = 4.85585e-16;
 
  127           else if (rH < 6000) {
 
  128             const double p10 = 0.00659488 ;
 
  129             const double p11 = 2.68603e-05;
 
  130             const double p12 = -7.80009e-09;
 
  131             const double p13 = 5.54463e-13;
 
  134           else if (rH < 13000) {
 
  135             weightpT_G = 1./
exp(2.14289
e+00 - 1.17687
e-03*rH);
 
  139           weight = weightpT_G * (1 + rH/13000.);
 
  145           } 
else if (rH < 2500) {
 
  158           else if (rH < 6000) {
 
  171           else if (rH < 8000) {
 
  184           else if (rH <= 10500) {
 
  197           weight = weightBW * weightPL;
 
  203         throw std::runtime_error(
"Unknown GravFlat:EnergyMode = " + 
std::to_string(emode) + 
" (should be either 8 or 13!)");