00001 // -*- C++ -*- 00002 // 00003 // O1AlphaS.h is a part of ThePEG - Toolkit for HEP Event Generation 00004 // Copyright (C) 1999-2007 Leif Lonnblad 00005 // 00006 // ThePEG is licenced under version 2 of the GPL, see COPYING for details. 00007 // Please respect the MCnet academic guidelines, see GUIDELINES for details. 00008 // 00009 #ifndef ThePEG_O1AlphaS_H 00010 #define ThePEG_O1AlphaS_H 00011 // This is the declaration of the O1AlphaS class. 00012 00013 #include "AlphaSBase.h" 00014 00015 namespace ThePEG { 00016 00027 class O1AlphaS: public AlphaSBase { 00028 00029 public: 00030 00036 O1AlphaS() 00037 : theLambdaQCD(0.25*GeV), theLambdaFlavour(4), 00038 theMaxFlav(6), Q0(ZERO) {} 00040 00041 public: 00042 00049 virtual double value(Energy2 scale, const StandardModelBase &) const; 00050 00055 virtual unsigned int nloops () const { return 1; } 00056 00062 virtual vector<Energy2> flavourThresholds() const; 00063 00068 virtual vector<Energy> LambdaQCDs() const; 00070 00074 unsigned int getMaxFlav() const { return theMaxFlav; } 00075 00076 public: 00077 00084 void persistentOutput(PersistentOStream & os) const; 00085 00091 void persistentInput(PersistentIStream & is, int version); 00093 00097 static void Init(); 00098 00099 protected: 00100 00107 virtual IBPtr clone() const; 00108 00113 virtual IBPtr fullclone() const; 00115 00116 00117 private: 00118 00125 Energy theLambdaQCD; 00126 00130 unsigned int theLambdaFlavour; 00131 00135 unsigned int theMaxFlav; 00136 00140 Energy Q0; 00141 00142 private: 00143 00147 static ClassDescription<O1AlphaS> initO1AlphaS; 00148 00152 O1AlphaS & operator=(const O1AlphaS &); 00153 00154 }; 00155 00160 template <> 00161 struct BaseClassTrait<O1AlphaS,1>: public ClassTraitsType { 00163 typedef AlphaSBase NthBase; 00164 }; 00165 00169 template <> 00170 struct ClassTraits<O1AlphaS>: public ClassTraitsBase<O1AlphaS> { 00172 static string className() { return "ThePEG::O1AlphaS"; } 00176 static string library() { return "O1AlphaS.so"; } 00177 }; 00178 00181 } 00182 00183 #endif /* ThePEG_O1AlphaS_H */