00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef THEPEG_SimpleZGenerator_H
00010 #define THEPEG_SimpleZGenerator_H
00011
00012
00013 #include "ThePEG/Handlers/ZGenerator.h"
00014
00015 namespace ThePEG {
00016
00026 class SimpleZGenerator: public ZGenerator {
00027
00028 public:
00029
00035 virtual ~SimpleZGenerator();
00037
00038 public:
00039
00052 virtual double generate(cPDPtr q1, cPDPtr q2, Energy2 mT2 ) const;
00054
00055 public:
00056
00063 void persistentOutput(PersistentOStream & os) const;
00064
00070 void persistentInput(PersistentIStream & is, int version);
00072
00076 static void Init();
00077
00078 protected:
00079
00086 virtual IBPtr clone() const;
00087
00092 virtual IBPtr fullclone() const;
00094
00095 private:
00096
00100 static ClassDescription<SimpleZGenerator> initSimpleZGenerator;
00101
00105 SimpleZGenerator & operator=(const SimpleZGenerator &);
00106
00107 };
00108
00109 }
00110
00111
00112 #include "ThePEG/Utilities/ClassTraits.h"
00113
00114 namespace ThePEG {
00115
00122 template <>
00123 struct BaseClassTrait<SimpleZGenerator,1>: public ClassTraitsType {
00125 typedef ZGenerator NthBase;
00126 };
00127
00132 template <>
00133 struct ClassTraits<SimpleZGenerator>
00134 : public ClassTraitsBase<SimpleZGenerator> {
00136 static string className() { return "ThePEG::SimpleZGenerator"; }
00142 static string library() { return "SimpleZGenerator.so"; }
00143
00144 };
00145
00148 }
00149
00150 #endif