ThePEG  1.8.0
O1AlphaS.h
1 // -*- C++ -*-
2 //
3 // O1AlphaS.h is a part of ThePEG - Toolkit for HEP Event Generation
4 // Copyright (C) 1999-2011 Leif Lonnblad
5 //
6 // ThePEG is licenced under version 2 of the GPL, see COPYING for details.
7 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
8 //
9 #ifndef ThePEG_O1AlphaS_H
10 #define ThePEG_O1AlphaS_H
11 // This is the declaration of the O1AlphaS class.
12 
13 #include "AlphaSBase.h"
14 
15 namespace ThePEG {
16 
27 class O1AlphaS: public AlphaSBase {
28 
29 public:
30 
37  : theLambdaQCD(0.25*GeV), theLambdaFlavour(4),
38  theMaxFlav(6), Q0(ZERO) {}
40 
41 public:
42 
49  virtual double value(Energy2 scale, const StandardModelBase &) const;
50 
55  virtual unsigned int nloops () const { return 1; }
56 
62  virtual vector<Energy2> flavourThresholds() const;
63 
68  virtual vector<Energy> LambdaQCDs() const;
70 
74  int getMaxFlav() const { return theMaxFlav; }
75 
76 public:
77 
84  void persistentOutput(PersistentOStream & os) const;
85 
91  void persistentInput(PersistentIStream & is, int version);
93 
97  static void Init();
98 
99 protected:
100 
107  virtual IBPtr clone() const;
108 
113  virtual IBPtr fullclone() const;
115 
116 
117 private:
118 
126 
131 
136 
141 
142 private:
143 
148 
152  O1AlphaS & operator=(const O1AlphaS &);
153 
154 };
155 
160 template <>
161 struct BaseClassTrait<O1AlphaS,1>: public ClassTraitsType {
163  typedef AlphaSBase NthBase;
164 };
165 
169 template <>
170 struct ClassTraits<O1AlphaS>: public ClassTraitsBase<O1AlphaS> {
172  static string className() { return "ThePEG::O1AlphaS"; }
176  static string library() { return "O1AlphaS.so"; }
177 };
178 
181 }
182 
183 #endif /* ThePEG_O1AlphaS_H */
PersistentIStream is used to read persistent objects from a stream where they were previously written...
StandardModelBase is used to handle standard model parameters in an EventGenerator.
ClassTraitsType is an empty, non-polymorphic, base class.
Definition: ClassTraits.h:30
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data...
virtual vector< Energy > LambdaQCDs() const
Return the used for different numbers of active flavours.
int theMaxFlav
The maximum number of active flavours.
Definition: O1AlphaS.h:135
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
static ClassDescription< O1AlphaS > initO1AlphaS
Describe a concrete class with persistent data.
Definition: O1AlphaS.h:147
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
virtual double value(Energy2 scale, const StandardModelBase &) const
The .
static void Init()
Standard Init function used to initialize the interface.
AlphaSBase is an abstract base class used by the StandardModelBase to implement the QCD coupling...
Definition: AlphaSBase.h:28
virtual vector< Energy2 > flavourThresholds() const
Return the flavour thresholds used.
QTY< 0, 1, 0 >::Type Energy
Energy.
Definition: Unitsystem.h:34
O1AlphaS inherits from AlphaSBase and implements the leading order running QCD coupling.
Definition: O1AlphaS.h:27
O1AlphaS & operator=(const O1AlphaS &)
Private and non-existent assignment operator.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
virtual unsigned int nloops() const
Return the number of loops contributing to the running this coupling.
Definition: O1AlphaS.h:55
virtual IBPtr clone() const
Make a simple clone of this object.
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
Energy theLambdaQCD
The for the number of flavours specified by theLambdaFlavour.
Definition: O1AlphaS.h:125
const ZeroUnit ZERO
ZERO can be used as zero for any unitful quantity.
Definition: PhysicalQty.h:33
int getMaxFlav() const
Return the maximum number of active flavours.
Definition: O1AlphaS.h:74
The default concrete implementation of ClassTraitsBase.
Definition: ClassTraits.h:134
Energy Q0
The scale below which is frozen.
Definition: O1AlphaS.h:140
int theLambdaFlavour
The number of flavours for which theLambdaQCD is given.
Definition: O1AlphaS.h:130
O1AlphaS()
Default constructor.
Definition: O1AlphaS.h:36
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
Definition: ClassTraits.h:52