|
|
|||
File indexing completed on 2026-06-02 08:17:11
0001 // 0002 // APFEL++ 2017 0003 // 0004 // Author: Valerio Bertone: valerio.bertone@cern.ch 0005 // 0006 0007 #pragma once 0008 0009 #include "apfel/matchedevolution.h" 0010 0011 #include <functional> 0012 0013 namespace apfel 0014 { 0015 /** 0016 * @brief The AlphaQCDg is a specialization class of the 0017 * MatchedEvolution class for the computation of the QCD coupling 0018 * running using the analytic g functions. 0019 */ 0020 class AlphaQCDg: public MatchedEvolution<double> 0021 { 0022 public: 0023 /** 0024 * @name Constructors 0025 * List of constructors. 0026 */ 0027 ///@{ 0028 AlphaQCDg() = delete; 0029 0030 /** 0031 * @brief AlphaQCDg constructor. 0032 * @param AlphaRef: the reference value of the coupling 0033 * @param MuRef: the reference value of the scale 0034 * @param Masses: vector of masses 0035 * @param Thresholds: vector of thresholds 0036 * @param pt: perturbative order 0037 * @param kappa: resummation scale parameter (default: 1) 0038 */ 0039 AlphaQCDg(double const& AlphaRef, 0040 double const& MuRef, 0041 std::vector<double> const& Masses, 0042 std::vector<double> const& Thresholds, 0043 int const& pt, 0044 double const& kappa = 1); 0045 0046 /** 0047 * @brief AlphaQCDg constructor. 0048 * @param AlphaRef: the reference value of the coupling 0049 * @param MuRef: the reference value of the scale 0050 * @param Masses: vector of masses 0051 * @param pt: perturbative order 0052 * @param kappa: resummation scale parameter (default: 1) 0053 * @note This constructor assumes that masses and thresholds coincide. 0054 */ 0055 AlphaQCDg(double const& AlphaRef, 0056 double const& MuRef, 0057 std::vector<double> const& Masses, 0058 int const& pt, 0059 double const& kappa = 1); 0060 ///@} 0061 0062 /** 0063 * @brief Function for the computation of the matching. 0064 * @param Up: tells whether the matching is upward or not (downward) 0065 * @param nf: number of active flavours 0066 * @param Coup: value of the coupling to be matched 0067 * @return The matched value of the strong coupling \f$\alpha_s\f$ at the threshold 0068 */ 0069 double MatchObject(bool const& Up, int const& nf, double const& Coup) const; 0070 0071 /** 0072 * @brief Dummy function used to overload a purely virtual 0073 * function. It should never be called. 0074 */ 0075 double Derivative(int const&, double const&, double const&) const { return 0; }; 0076 0077 /** 0078 * @brief Function for the computation of the evolution. 0079 * @param nf: the number of active flavours 0080 * @param lnmu02: the log of the initial value of the scale 0081 * @param lnmu2 the log of the final value of the scale 0082 * @param as0: the starting object 0083 * @return the object evolved at the scale mu2 0084 */ 0085 double EvolveObject(int const& nf, double const& lnmu02, double const& lnmu2, double const& as0) const; 0086 0087 private: 0088 int const _pt; //!< Perturbative order 0089 double const _kappa; //!< Resummation-scale parameter 0090 std::function<double(bool const&, int const&, double const&)> _MatchingConditions; //!< Matching condition functions 0091 }; 0092 }
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|