00001 // -*- C++ -*- 00002 // 00003 // SimpleAlphaEM.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_SimpleAlphaEM_H 00010 #define ThePEG_SimpleAlphaEM_H 00011 // This is the declaration of the SimpleAlphaEM class. 00012 00013 #include "AlphaEMBase.h" 00014 00015 namespace ThePEG { 00016 00025 class SimpleAlphaEM: public AlphaEMBase { 00026 00027 public: 00028 00033 virtual double value(Energy2 scale, const StandardModelBase &) const; 00034 00039 virtual unsigned int nloops () const { return 1; } 00040 00041 public: 00042 00046 static void Init(); 00047 00048 protected: 00049 00056 virtual IBPtr clone() const; 00057 00062 virtual IBPtr fullclone() const; 00064 00065 private: 00066 00070 static NoPIOClassDescription<SimpleAlphaEM> initSimpleAlphaEM; 00071 00075 SimpleAlphaEM & operator=(const SimpleAlphaEM &); 00076 00077 }; 00078 00083 template <> 00084 struct BaseClassTrait<SimpleAlphaEM,1>: public ClassTraitsType { 00086 typedef AlphaEMBase NthBase; 00087 }; 00088 00092 template <> 00093 struct ClassTraits<SimpleAlphaEM>: public ClassTraitsBase<SimpleAlphaEM> { 00095 static string className() { return "ThePEG::SimpleAlphaEM"; } 00099 static string library() { return "SimpleAlphaEM.so"; } 00100 }; 00101 00104 } 00105 00106 #endif /* ThePEG_SimpleAlphaEM_H */