Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-06-02 08:17:12

0001 //
0002 // APFEL++ 2017
0003 //
0004 // Author: Valerio Bertone: valerio.bertone@cern.ch
0005 //
0006 
0007 #pragma once
0008 
0009 #include "apfel/expression.h"
0010 
0011 namespace apfel
0012 {
0013   /**
0014    * @defgroup GPDEvKernels GPD evolution kernels
0015    * Collection of the MSbar evolution kernels for the evolution of
0016    * GPDs. They are split into two categories that apply to the DGLAP
0017    * and ERBL regions respectively.
0018    */
0019   ///@{
0020   ///@}
0021   /**
0022    * @defgroup GPDUnpSF Unpolarised evolution kernels
0023    * @ingroup GPDEvKernels
0024    */
0025   ///@{
0026   ///@}
0027   /**
0028    * @defgroup LOunpevk LO evolution kernels
0029    * @ingroup GPDUnpSF
0030    */
0031   ///@{
0032   /**
0033    * @brief O(&alpha;<SUB>s</SUB>) non-singlet unpolarised evolution
0034    * kernel.
0035    */
0036   class Pgpd0ns: public Expression
0037   {
0038   public:
0039     Pgpd0ns(double const& xi);
0040     double Regular(double const& y)  const;
0041     double Singular(double const& y) const;
0042     double Local(double const& y)    const;
0043     double LocalPP(double const& y)  const;
0044   };
0045 
0046   /**
0047    * @brief O(&alpha;<SUB>s</SUB>) quark-quark unpolarised splitting
0048    * function.
0049    */
0050   class Pgpd0qq: public Expression
0051   {
0052   public:
0053     Pgpd0qq(double const& xi);
0054     double Regular(double const& y)  const;
0055     double Singular(double const& y) const;
0056     double Local(double const& y)    const;
0057     double LocalPP(double const& y)  const;
0058   };
0059 
0060   /**
0061    * @brief O(&alpha;<SUB>s</SUB>) quark-gluon unpolarised splitting
0062    * function.
0063    */
0064   class Pgpd0qg: public Expression
0065   {
0066   public:
0067     Pgpd0qg(int const& nf, double const& xi);
0068     double Regular(double const& y) const;
0069   private:
0070     int const _nf;
0071   };
0072 
0073   /**
0074    * @brief O(&alpha;<SUB>s</SUB>) gluon-quark unpolarised splitting
0075    * function.
0076    */
0077   class Pgpd0gq: public Expression
0078   {
0079   public:
0080     Pgpd0gq(double const& xi);
0081     double Regular(double const& y) const;
0082   };
0083 
0084   /**
0085    * @brief O(&alpha;<SUB>s</SUB>) gluon-gluon unpolarised splitting
0086    * function.
0087    */
0088   class Pgpd0gg: public Expression
0089   {
0090   public:
0091     Pgpd0gg(int const& nf, double const& xi);
0092     double Regular(double const& y)  const;
0093     double Singular(double const& y) const;
0094     double Local(double const& y)    const;
0095     double LocalPP(double const& y)  const;
0096   private:
0097     int const _nf;
0098   };
0099   ///@}
0100 }