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 */
ClassTraitsType is an empty, non-polymorphic, base class.
Definition: ClassTraits.h:30
PtGenerator & operator=(const PtGenerator &)
Private and non-existent assignment operator.
A concreate implementation of ClassDescriptionBase describing an abstract class with persistent data...
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
virtual TransverseMomentum generate() const =0
Generate ( ) components of the transverse momentum.
static void Init()
Standard Init function used to initialize the interface.
PtGenerator is the base for all classes implementing alternative models for transverse momentum gener...
Definition: PtGenerator.h:29
HandlerBase is an abstract base class derived from the Interfaced class via the HandlerBaseT class ad...
Definition: HandlerBase.h:151
static AbstractClassDescription< PtGenerator > initPtGenerator
Describe an abstract class without persistent data.
Definition: PtGenerator.h:54
static string className()
Return the name of class T.
Definition: ClassTraits.h:66
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Definition: ClassTraits.h:161
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156