ThePEG  1.8.0
PtGenerator.h
1 // -*- C++ -*-
2 //
3 // PtGenerator.h is a part of ThePEG - Toolkit for HEP Event Generation
4 // Copyright (C) 1999-2011 Leif Lonnblad
5 //
6 // ThePEG is licenced under version 2 of the GPL, see COPYING for details.
7 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
8 //
9 #ifndef ThePEG_PtGenerator_H
10 #define ThePEG_PtGenerator_H
11 // This is the declaration of the PtGenerator class.
12 
13 #include "ThePEG/Config/ThePEG.h"
14 #include "ThePEG/Handlers/HandlerBase.h"
15 
16 namespace ThePEG {
17 
29 class PtGenerator: public HandlerBase {
30 
31 public:
32 
39  virtual TransverseMomentum generate() const =0;
41 
42 public:
43 
47  static void Init();
48 
49 private:
50 
55 
60 
61 };
62 
63 
70 template <>
71 struct BaseClassTrait<PtGenerator,1>: public ClassTraitsType {
73  typedef HandlerBase NthBase;
74 };
75 
80 template <>
81 struct ClassTraits<PtGenerator>: public ClassTraitsBase<PtGenerator> {
83  static string className() { return "ThePEG::PtGenerator"; }
84 };
85 
86 
89 }
90 
91 #endif /* ThePEG_PtGenerator_H */