thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
PtGenerator.h
1 // -*- C++ -*-
2 //
3 // PtGenerator.h is a part of ThePEG - Toolkit for HEP Event Generation
4 // Copyright (C) 1999-2019 Leif Lonnblad
5 //
6 // ThePEG is licenced under version 3 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 
59  PtGenerator & operator=(const PtGenerator &) = delete;
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
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
This is the main config header file for ThePEG.
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
PtGenerator & operator=(const PtGenerator &)=delete
Private and non-existent assignment operator.
HandlerBase is an abstract base class derived from the Interfaced class via the HandlerBaseT class ad...
Definition: HandlerBase.h:151
The default concrete implementation of ClassTraitsBase.
Definition: ClassTraits.h:134
static AbstractClassDescription< PtGenerator > initPtGenerator
Describe an abstract class without persistent data.
Definition: PtGenerator.h:54
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
Definition: ClassTraits.h:52