00001 // -*- C++ -*- 00002 // 00003 // ThePEGStrategy.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_ThePEGStrategy_H 00010 #define ThePEG_ThePEGStrategy_H 00011 // This is the declaration of the ThePEGStrategy class. 00012 00013 #include "ThePEG/Repository/Strategy.h" 00014 00015 namespace ThePEG { 00016 00025 class ThePEGStrategy: public Strategy { 00026 00027 public: 00028 00032 static void Init(); 00033 00034 protected: 00035 00042 virtual IBPtr clone() const; 00043 00048 virtual IBPtr fullclone() const; 00050 00051 private: 00052 00056 static NoPIOClassDescription<ThePEGStrategy> initThePEGStrategy; 00057 00061 ThePEGStrategy & operator=(const ThePEGStrategy &); 00062 00063 }; 00064 00065 00070 template <> 00071 struct BaseClassTrait<ThePEGStrategy,1>: public ClassTraitsType { 00073 typedef Strategy NthBase; 00074 }; 00075 00079 template <> 00080 struct ClassTraits<ThePEGStrategy>: public ClassTraitsBase<ThePEGStrategy> { 00082 static string className() { return "ThePEG::ThePEGStrategy"; } 00086 static string library() { return "ThePEGStrategy.so"; } 00087 }; 00088 00091 } 00092 00093 #endif /* ThePEG_ThePEGStrategy_H */