00001
00002 #ifndef PYTHIA7_Pythia7Strategy_H
00003 #define PYTHIA7_Pythia7Strategy_H
00004
00005
00006 #include "ThePEG/Repository/Strategy.h"
00007 #include "ThePEG/PDT/ParticleData.h"
00008
00009
00010
00011 namespace Pythia7 {
00012
00013 using namespace ThePEG;
00014
00023 class Pythia7Strategy: public Strategy {
00024
00025 public:
00026
00032 inline Pythia7Strategy();
00033
00037 inline Pythia7Strategy(const Pythia7Strategy &);
00038
00042 virtual ~Pythia7Strategy();
00044
00045 public:
00046
00050 static void Init();
00051
00052 protected:
00053
00054
00055 protected:
00056
00063 inline virtual IBPtr clone() const;
00064
00069 inline virtual IBPtr fullclone() const;
00071
00072 protected:
00073
00079 inline virtual void doupdate() throw(UpdateException);
00080
00086 inline virtual void doinit() throw(InitException);
00087
00092 inline virtual void dofinish();
00093
00103 inline virtual void rebind(const TranslationMap & trans)
00104 throw(RebindException);
00105
00111 inline virtual IVector getReferences();
00113
00114 private:
00115
00119 static NoPIOClassDescription<Pythia7Strategy> initPythia7Strategy;
00120
00124 Pythia7Strategy & operator=(const Pythia7Strategy &);
00125
00126 };
00127
00128 }
00129
00130
00131 namespace ThePEG {
00132
00137 template <>
00138 struct BaseClassTrait<Pythia7::Pythia7Strategy,1>: public ClassTraitsType {
00140 typedef Strategy NthBase;
00141 };
00142
00146 template <>
00147 struct ClassTraits<Pythia7::Pythia7Strategy>
00148 : public ClassTraitsBase<Pythia7::Pythia7Strategy> {
00150 static string className() { return "Pythia7::Pythia7Strategy"; }
00154 static string library() { return "Pythia7Strategy.so"; }
00155 };
00156
00159 }
00160
00161 #include "Pythia7Strategy.icc"
00162 #ifndef PYTHIA7_TEMPLATES_IN_CC_FILE
00163
00164 #endif
00165
00166 #endif