|
|
|||
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 AlphaQCD is a specialization class of the 0017 * MatchedEvolution class for the computation of the QCD coupling 0018 * running. 0019 */ 0020 class AlphaQCD: public MatchedEvolution<double> 0021 { 0022 public: 0023 /** 0024 * @name Constructors 0025 * List of constructors. 0026 */ 0027 ///@{ 0028 AlphaQCD() = delete; 0029 0030 /** 0031 * @brief AlphaQCD 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 nsteps: number of steps of the ODE solver 0038 */ 0039 AlphaQCD(double const& AlphaRef, 0040 double const& MuRef, 0041 std::vector<double> const& Masses, 0042 std::vector<double> const& Thresholds, 0043 int const& pt, 0044 int const& nsteps = 10); 0045 0046 /** 0047 * @brief AlphaQCD 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 nsteps: number of steps of the ODE solver 0053 * @note This constructor assumes that masses and thresholds coincide. 0054 */ 0055 AlphaQCD(double const& AlphaRef, 0056 double const& MuRef, 0057 std::vector<double> const& Masses, 0058 int const& pt, 0059 int const& nsteps = 10); 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 Function that returns QCD \f$\beta\f$ function. 0073 * @param nf: number of active flavours 0074 * @param as: value of the coupling 0075 * @return The the value of the QCD \f$\beta\f$ function 0076 */ 0077 double Derivative(int const& nf, double const&, double const& as) const; 0078 0079 /** 0080 * @brief Function for the computation of the single coefficients 0081 * of the expansion of the QCD \f$\beta\f$ function. 0082 * @param pt: perturbative order 0083 * @param nf: number of active flavours 0084 * @return The pt-th coefficient of the QCD \f$\beta\f$ function. 0085 */ 0086 double betaQCD(int const& pt, int const& nf) const; 0087 0088 private: 0089 int const _pt; //!< Perturbative order 0090 std::function<double(bool const&, int const&, double const&)> _MatchingConditions; //!< Matching condition functions 0091 std::function<double(int const&, double const&)> _BetaFunction; //!< Beta function 0092 }; 0093 }
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|