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 //         Simone Rodini: rodini.simone.luigi@gmail.com
0006 //
0007 
0008 #pragma once
0009 
0010 #include "apfel/expression.h"
0011 
0012 namespace apfel
0013 {
0014   /**
0015    * @defgroup GTMDMatchingFunctions GTMD matching functions
0016    * The perturbative matching functions for GTMDs.
0017    */
0018   ///@{
0019   ///@}
0020   /**
0021    * @defgroup NLOmatchUnp NLO unpolarised matching functions for GTMDs
0022    * @ingroup GTMDMatchingFunctions
0023    */
0024   ///@{
0025   /**
0026    * @brief The O(&alpha;<SUB>s</SUB>) parity even non-singlet
0027    * unpolarised matching function for GTMDs.
0028    */
0029   class Cgtmd1nseUU: public Expression
0030   {
0031   public:
0032     Cgtmd1nseUU(double const& xi);
0033     double Regular(double const& x) const;
0034     double Local(double const&)     const;
0035   };
0036 
0037   /**
0038    * @brief The O(&alpha;<SUB>s</SUB>) parity even quark-quark
0039    * unpolarised matching function for GTMDs.
0040    */
0041   class Cgtmd1qqeUU: public Expression
0042   {
0043   public:
0044     Cgtmd1qqeUU(double const& xi);
0045     double Regular(double const& x) const;
0046     double Local(double const&)     const;
0047   };
0048 
0049   /**
0050    * @brief The O(&alpha;<SUB>s</SUB>) parity even quark-gluon
0051    * unpolarised matching function for GTMDs.
0052    */
0053   class Cgtmd1qgeUU: public Expression
0054   {
0055   public:
0056     Cgtmd1qgeUU(double const& xi);
0057     double Regular(double const& x)    const;
0058     double SingularPV(double const& x) const;
0059     double LocalLogPV(double const& x) const;
0060   };
0061 
0062   /**
0063    * @brief The O(&alpha;<SUB>s</SUB>) parity even gluon-quark
0064    * unpolarised matching function for GTMDs.
0065    */
0066   class Cgtmd1gqeUU: public Expression
0067   {
0068   public:
0069     Cgtmd1gqeUU(double const& xi);
0070     double Regular(double const& x) const;
0071   };
0072 
0073   /**
0074    * @brief The O(&alpha;<SUB>s</SUB>) parity even gluon-gluon
0075    * unpolarised matching function for GTMDs.
0076    */
0077   class Cgtmd1ggeUU: public Expression
0078   {
0079   public:
0080     Cgtmd1ggeUU(double const& xi);
0081     double Regular(double const& x)    const;
0082     double Local(double const&)        const;
0083     double SingularPV(double const& x) const;
0084     double LocalLogPV(double const& x) const;
0085   };
0086 
0087   /**
0088    * @brief The O(&alpha;<SUB>s</SUB>) parity odd quark-gluon
0089    * unpolarised matching function for GTMDs.
0090    */
0091   class Cgtmd1qgoUU: public Expression
0092   {
0093   public:
0094     Cgtmd1qgoUU(double const& xi);
0095     double LocalPV() const;
0096   };
0097 
0098   /**
0099    * @brief The O(&alpha;<SUB>s</SUB>) parity odd gluon-gluon
0100    * unpolarised matching function for GTMDs.
0101    */
0102   class Cgtmd1ggoUU: public Expression
0103   {
0104   public:
0105     Cgtmd1ggoUU(double const& xi);
0106     double LocalPV() const;
0107   };
0108 
0109   /**
0110    * @brief The O(&alpha;<SUB>s</SUB>) parity even quark-gluon
0111    * unpolarised to transversely polarized matching function for
0112    * GTMDs.
0113    */
0114   class Cgtmd1qgeUT : public Expression
0115   {
0116   public:
0117     Cgtmd1qgeUT(double const &xi);
0118     double Regular(double const &x) const;
0119     double SingularPV(double const &x) const;
0120     double LocalLogPV(double const &x) const;
0121   };
0122 
0123   /**
0124    * @brief The O(&alpha;<SUB>s</SUB>) parity odd quark-gluon
0125    * unpolarised to transversely polarized matching function for
0126    * GTMDs.
0127    */
0128   class Cgtmd1qgoUT : public Expression
0129   {
0130   public:
0131     Cgtmd1qgoUT(double const &xi);
0132     double LocalPV() const;
0133   };
0134 
0135   /**
0136    * @brief The O(&alpha;<SUB>s</SUB>) parity even gluon-gluon
0137    * unpolarised to transversely polarized matching function for
0138    * GTMDs.
0139    */
0140   class Cgtmd1ggeUT : public Expression
0141   {
0142   public:
0143     Cgtmd1ggeUT(double const &xi);
0144     double Regular(double const &x) const;
0145     double SingularPV(double const &x) const;
0146     double LocalLogPV(double const &x) const;
0147   };
0148 
0149   /**
0150    * @brief The O(&alpha;<SUB>s</SUB>) parity odd gluon-gluon
0151    * unpolarised to transversely polarized matching function for
0152    * GTMDs.
0153    */
0154   class Cgtmd1ggoUT : public Expression
0155   {
0156   public:
0157     Cgtmd1ggoUT(double const &xi);
0158     double LocalPV() const;
0159   };
0160   ///@}
0161 
0162   /**
0163    * @defgroup NLOmatchPol NLO longitudinally polarised matching functions for GTMDs
0164    * @ingroup GTMDMatchingFunctions
0165    */
0166   ///@{
0167   /**
0168    * @brief The O(&alpha;<SUB>s</SUB>) parity even non-singlet
0169    * longitudinally polarised matching function for GTMDs.
0170    */
0171   class Cgtmd1nseLL: public Expression
0172   {
0173   public:
0174     Cgtmd1nseLL(double const& xi);
0175     double Regular(double const& x) const;
0176     double Local(double const&)     const;
0177   };
0178 
0179   /**
0180    * @brief The O(&alpha;<SUB>s</SUB>) parity even quark-quark
0181    * longitudinally polarised matching function for GTMDs.
0182    */
0183   class Cgtmd1qqeLL: public Expression
0184   {
0185   public:
0186     Cgtmd1qqeLL(double const& xi);
0187     double Regular(double const& x) const;
0188     double Local(double const&)     const;
0189   };
0190 
0191   /**
0192    * @brief The O(&alpha;<SUB>s</SUB>) parity even quark-gluon
0193    * longitudinally polarised matching function for GTMDs.
0194    */
0195   class Cgtmd1qgeLL: public Expression
0196   {
0197   public:
0198     Cgtmd1qgeLL(double const& xi);
0199     double Regular(double const& x)    const;
0200     double SingularPV(double const& x) const;
0201     double LocalLogPV(double const& x) const;
0202   };
0203 
0204   /**
0205    * @brief The O(&alpha;<SUB>s</SUB>) parity odd quark-gluon
0206    * longitudinally polarised matching function for GTMDs.
0207    */
0208   class Cgtmd1qgoLL : public Expression
0209   {
0210   public:
0211     Cgtmd1qgoLL(double const &xi);
0212     double LocalPV() const;
0213   };
0214 
0215   /**
0216    * @brief The O(&alpha;<SUB>s</SUB>) parity even gluon-quark
0217    * longitudinally polarised matching function for GTMDs.
0218    */
0219   class Cgtmd1gqeLL: public Expression
0220   {
0221   public:
0222     Cgtmd1gqeLL(double const& xi);
0223     double Regular(double const& x) const;
0224   };
0225 
0226   /**
0227    * @brief The O(&alpha;<SUB>s</SUB>) parity even gluon-gluon
0228    * longitudinally polarised matching function for GTMDs.
0229    */
0230   class Cgtmd1ggeLL: public Expression
0231   {
0232   public:
0233     Cgtmd1ggeLL(double const& xi);
0234     double Regular(double const& x)    const;
0235     double Local(double const&)        const;
0236     double SingularPV(double const& x) const;
0237     double LocalLogPV(double const& x) const;
0238   };
0239 
0240   /**
0241    * @brief The O(&alpha;<SUB>s</SUB>) parity odd gluon-gluon
0242    * longitudinally polarised matching function for GTMDs.
0243    */
0244   class Cgtmd1ggoLL : public Expression
0245   {
0246   public:
0247     Cgtmd1ggoLL(double const &xi);
0248     double LocalPV() const;
0249   };
0250 
0251   /**
0252    * @brief The O(&alpha;<SUB>s</SUB>) parity even quark-gluon
0253    * longitudinally polarised to transversely polarized matching
0254    * function for GTMDs.
0255    */
0256   class Cgtmd1qgeLT : public Expression
0257   {
0258   public:
0259     Cgtmd1qgeLT(double const &xi);
0260     double Regular(double const &x) const;
0261     double SingularPV(double const &x) const;
0262     double LocalLogPV(double const &x) const;
0263   };
0264 
0265   /**
0266    * @brief The O(&alpha;<SUB>s</SUB>) parity odd quark-gluon
0267    * longitudinally polarised to transversely polarized matching
0268    * function for GTMDs.
0269    */
0270   class Cgtmd1qgoLT : public Expression
0271   {
0272   public:
0273     Cgtmd1qgoLT(double const &xi);
0274     double LocalPV() const;
0275   };
0276 
0277   /**
0278    * @brief The O(&alpha;<SUB>s</SUB>) parity even gluon-gluon
0279    * longitudinally polarised to transversely polarized matching
0280    * function for GTMDs.
0281    */
0282   class Cgtmd1ggeLT : public Expression
0283   {
0284   public:
0285     Cgtmd1ggeLT(double const &xi);
0286     double Regular(double const &x) const;
0287     double SingularPV(double const &x) const;
0288     double LocalLogPV(double const &x) const;
0289   };
0290 
0291   /**
0292    * @brief The O(&alpha;<SUB>s</SUB>) parity odd gluon-gluon
0293    * longitudinally polarised to transversely polarized matching
0294    * function for GTMDs.
0295    */
0296   class Cgtmd1ggoLT : public Expression
0297   {
0298   public:
0299     Cgtmd1ggoLT(double const &xi);
0300     double LocalPV() const;
0301   };
0302   ///@}
0303 
0304   /**
0305    * @defgroup NLOmatchTrans NLO transversely/linearly polarised matching functions for GTMDs
0306    * @ingroup GTMDMatchingFunctions
0307    */
0308   ///@{
0309   /**
0310    * @brief The O(&alpha;<SUB>s</SUB>) parity even gluon-gluon
0311    * linearly polarised matching function for GTMDs.
0312    */
0313   class Cgtmd1ggeTT: public Expression
0314   {
0315   public:
0316     Cgtmd1ggeTT(double const& xi);
0317     double Regular(double const& x)    const;
0318     double Local(double const&)        const;
0319     double SingularPV(double const& x) const;
0320     double LocalLogPV(double const& x) const;
0321   };
0322 
0323   /**
0324    * @brief The O(&alpha;<SUB>s</SUB>) parity odd gluon-gluon
0325    * linearly polarised matching function for GTMDs.
0326    */
0327   class Cgtmd1ggoTT: public Expression
0328   {
0329   public:
0330     Cgtmd1ggoTT(double const& xi);
0331     double LocalPV() const;
0332   };
0333   ///@}
0334 
0335   /**
0336    * @defgroup NLOmatchLinUnp NLO matching functions for GTMDs for linealy-polarised gluons onto unpolarised partons
0337    * @ingroup GTMDMatchingFunctions
0338    */
0339   ///@{
0340   /**
0341    * @brief The O(&alpha;<SUB>s</SUB>) parity even
0342    * gluon(lin)-quark(unpol) matching function for GTMDs.
0343    */
0344   class Cgtmd1gqeTU: public Expression
0345   {
0346   public:
0347     Cgtmd1gqeTU(double const& xi);
0348     double Regular(double const& x) const;
0349   };
0350 
0351   /**
0352    * @brief The O(&alpha;<SUB>s</SUB>) parity even
0353    * gluon(lin)-gluon(unpol) matching function for GTMDs.
0354    */
0355   class Cgtmd1ggeTU: public Expression
0356   {
0357   public:
0358     Cgtmd1ggeTU(double const& xi);
0359     double Regular(double const& x)    const;
0360     double SingularPV(double const& x) const;
0361     double LocalLogPV(double const& x) const;
0362   };
0363 
0364   /**
0365    * @brief The O(&alpha;<SUB>s</SUB>) parity odd
0366    * gluon(lin)-gluon(unpol) matching function for GTMDs.
0367    */
0368   class Cgtmd1ggoTU: public Expression
0369   {
0370   public:
0371     Cgtmd1ggoTU(double const& xi);
0372     double LocalPV() const;;
0373   };
0374   ///@}
0375 
0376   /**
0377    * @defgroup NLOmatchLinPol NLO matching functions for GTMDs for linealy-polarised gluons onto longitudinally polarised partons
0378    * @ingroup GTMDMatchingFunctions
0379    */
0380   ///@{
0381   /**
0382    * @brief The O(&alpha;<SUB>s</SUB>) parity even
0383    * gluon(lin)-quark(long pol) matching function for GTMDs.
0384    */
0385   class Cgtmd1gqeTL: public Expression
0386   {
0387   public:
0388     Cgtmd1gqeTL(double const& xi);
0389     double Regular(double const& x) const;
0390   };
0391 
0392   /**
0393    * @brief The O(&alpha;<SUB>s</SUB>) parity even
0394    * gluon(lin)-gluon(long pol) matching function for GTMDs.
0395    */
0396   class Cgtmd1ggeTL: public Expression
0397   {
0398   public:
0399     Cgtmd1ggeTL(double const& xi);
0400     double Regular(double const& x)    const;
0401     double SingularPV(double const& x) const;
0402     double LocalLogPV(double const& x) const;
0403   };
0404 
0405   /**
0406    * @brief The O(&alpha;<SUB>s</SUB>) parity odd
0407    * gluon(lin)-gluon(long pol) matching function for GTMDs.
0408    */
0409   class Cgtmd1ggoTL: public Expression
0410   {
0411   public:
0412     Cgtmd1ggoTL(double const& xi);
0413     double LocalPV() const;;
0414   };
0415   ///@}
0416 }