Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-04-19 09:10:07

0001 #ifndef MODEL_Main_Running_Fermion_Mass_H
0002 #define MODEL_Main_Running_Fermion_Mass_H
0003 
0004 #include "ATOOLS/Phys/Flavour.H"
0005 #include "MODEL/Main/Running_AlphaS.H"
0006 #include "ATOOLS/Math/Function_Base.H"
0007 
0008 namespace MODEL {
0009   class Running_Fermion_Mass : public ATOOLS::Function_Base {
0010   private:
0011     void RegisterDefaults() const;
0012   protected:
0013     int              m_order;
0014     bool             m_runbelowpole;
0015     double           m_polemass, m_a;
0016     Running_AlphaS * p_as;
0017     ATOOLS::Flavour  m_fl;
0018     double Series(const double &a,const int nf) const;
0019     double Beta0(const double &nf) const;
0020     double Beta1(const double &nf) const;
0021     double Beta2(const double &nf) const;
0022     double Gamma0(const double &nf) const;
0023     double Gamma1(const double &nf) const;
0024     double Gamma2(const double &nf) const;
0025     double GetMSBarMass(const double &mp) const;
0026   public:
0027     Running_Fermion_Mass(ATOOLS::Flavour,double,Running_AlphaS *);
0028     ~Running_Fermion_Mass() {}
0029     double operator()(double); 
0030     void SelfTest();
0031   };
0032 
0033   /*!
0034     \class Running_Fermion_Mass
0035     \brief A class for running quark masses 
0036 
0037     This class is for the runnnig of fermion masses, in its current implementation,
0038     however, only quark masses are dealt with.
0039     \todo Include leptons as well and repeat the exercise for other types of particles.
0040   */
0041   /*!
0042     \var int Running_Fermion_Mass::m_order
0043     The order of the running masses, at the moment fixed to one.
0044     \todo More orders ?
0045   */
0046   /*!
0047     \var double Running_Fermion_Mass::m_polemass
0048     The pole mass of the quark.
0049   */
0050   /*!
0051     \var Running_Fermion_Mass::p_as
0052     A pointer to the running \f$\alpha_s\f$ used in the code.
0053   */
0054   /*!
0055     \fn Running_Fermion_Mass::Running_Fermion_Mass(ATOOLS::Flavour,double,Running_AlphaS *)
0056     In the constructor of this class, the quark in question, its polemass and a poniter to
0057     the running \f$\alpha_s\f$ are needed.
0058   */
0059   /*!
0060     \fn double Running_Fermion_Mass::operator()(double) 
0061     Returns he vaule of the running mass:
0062     \f[ m(t) = m_{\rm pole}\;\;\; \mbox{\rm if}\;\; |t|<m_{\rm pole}\f]
0063     \f[ m(t) = m_{\rm pole}\cdot
0064                \left[\frac{\alpha_s(t)}{\alpha_s(m_{\rm pole})}\right]^{\gamma_m/\beta_0}
0065                \;\;\; \mbox{\rm if}\;\; |t|\ge m_{\rm pole}\,.\f]
0066   */
0067   /*!
0068     \fn void Running_Fermion_Mass::SelfTest()
0069     Prints out a range for the running mass. 
0070   */
0071 }
0072 
0073 
0074 #endif