qqbarthreshold is hosted by Hepforge, IPPP Durham
QQbar_threshold
mass_schemes.hpp
Go to the documentation of this file.
1 
28 #pragma once
29 #include <array>
30 #include <string>
31 #include <ostream>
32 
34 namespace QQbar_threshold{
35 
37 
50  PS,
61  MSbarshift = MSshift,
62  MSbar = MSshift,
63  last_mass_scheme = MSbar
64  };
65 
67 
72  struct scheme{
76  double scale;
77  };
78 
79  inline
80  std::string to_string(scheme s){
81  using std::to_string;
82  static constexpr
83  std::array<char const *, last_mass_scheme + 1> name_strings = {{
84  "PS", "PSshift", "OneS", "OneSshift", "Pole", "MSbar"
85  }};
86  return
87  std::string{'{'} + name_strings[s.name] + ", " + to_string(s.scale) + '}';
88  }
89 
90  inline
91  std::ostream& operator<<(std::ostream& os, scheme s){
92  os << to_string(s);
93  return os;
94  }
95 
96  inline bool is_threshold_mass(scheme_name s){
97  switch(s){
98  case Pole:
99  case PSshift:
100  case OneSshift:
101  case MSbar:
102  return false;
103  default: return true;
104  }
105  }
106 
107  inline bool is_threshold_mass(scheme const & s){
108  return is_threshold_mass(s.name);
109  }
110 
112 
116  inline bool is_shifted_mass(scheme_name s){
117  switch(s){
118  case PSshift:
119  case OneSshift:
120  case MSbar:
121  return true;
122  default: return false;
123  }
124  }
125 
127 
136  switch(s){
137  case PS: return PSshift;
138  case OneS: return OneSshift;
139  default: return s;
140  }
141  }
142 
144 
148  inline bool is_shifted_mass(scheme const & s){
149  return is_shifted_mass(s.name);
150  }
151 }
Definition: alpha_s.hpp:37
double scale
Associated scale.
Definition: mass_schemes.hpp:76
The potential-subtracted insertion scheme.
Definition: mass_schemes.hpp:50
bool is_shifted_mass(scheme_name s)
Determines whether the given scheme is a shifted scheme.
Definition: mass_schemes.hpp:116
The 1S insertion scheme.
Definition: mass_schemes.hpp:54
scheme_name name
Name of the scheme.
Definition: mass_schemes.hpp:74
scheme_name
Names of mass schemes.
Definition: mass_schemes.hpp:48
The potential-subtracted shift scheme.
Definition: mass_schemes.hpp:52
The 1S shift scheme.
Definition: mass_schemes.hpp:56
The pole scheme.
Definition: mass_schemes.hpp:58
The scheme.
Definition: mass_schemes.hpp:60
Mass scheme.
Definition: mass_schemes.hpp:72
scheme_name to_shifted_mass(scheme_name s)
Returns the corresponding shifted scheme.
Definition: mass_schemes.hpp:135