herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
lo_alpha_s.h
1 // -*- C++ -*-
2 
3 // couplings/lo_alpha_s.h is part of matchbox
4 // (C) 2008 Simon Platzer -- sp@particle.uni-karlsruhe.de
5 
6 #ifndef matchbox_couplings_lo_alpha_s_h
7 #define matchbox_couplings_lo_alpha_s_h
8 
9 #include "alpha_s.h"
10 
11 namespace matchbox {
12 
13  using namespace ThePEG;
14 
21  class lo_alpha_s
22  : public alpha_s {
23 
24  public:
25 
31  lo_alpha_s();
32 
36  virtual ~lo_alpha_s();
38 
39  public:
40 
43  virtual double operator () (Energy2 scale,
44  Energy2 lambda2,
45  unsigned int nf) const;
46 
48  virtual unsigned int nloops () const { return 1; }
49 
50  public:
51 
58  void persistentOutput(PersistentOStream & os) const;
59 
65  void persistentInput(PersistentIStream & is, int version);
67 
74  static void Init();
75 
76  protected:
77 
80 
86  virtual inline void doinit() {
87  freezing_scale_ *= scale_factor();
89  }
90 
92 
93  protected:
94 
101  virtual IBPtr clone() const;
102 
107  virtual IBPtr fullclone() const;
109 
110  private:
111 
117 
122  lo_alpha_s & operator=(const lo_alpha_s &) = delete;
123 
124  private:
125 
126  Energy freezing_scale_;
127 
128  };
129 
130 }
131 
132 #include "ThePEG/Utilities/ClassTraits.h"
133 
134 namespace ThePEG {
135 
140  template <>
141  struct BaseClassTrait<matchbox::lo_alpha_s,1> {
143  typedef matchbox::alpha_s NthBase;
144  };
145 
148  template <>
149  struct ClassTraits<matchbox::lo_alpha_s>
150  : public ClassTraitsBase<matchbox::lo_alpha_s> {
152  static string className() { return "matchbox::lo_alpha_s"; }
160  static string library() { return "HwDipoleShowerAlphaS.so"; }
161  };
162 
165 }
166 
167 #endif /* matchbox_couplings_lo_alpha_s_h */
virtual unsigned int nloops() const
return the number of loops which determine this running
Definition: lo_alpha_s.h:48
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Definition: alpha_s.h:241
Base class for the strong coupling.
Definition: alpha_s.h:96
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Definition: lo_alpha_s.h:86
LO running alpha_s.
Definition: lo_alpha_s.h:21
static ClassDescription< lo_alpha_s > initlo_alpha_s
The static object used to initialize the description of this class.
Definition: lo_alpha_s.h:116