thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
SimpleZGenerator.h
1// -*- C++ -*-
2//
3// SimpleZGenerator.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_SimpleZGenerator_H
10#define THEPEG_SimpleZGenerator_H
11// This is the declaration of the SimpleZGenerator class.
12
13#include "ThePEG/Handlers/ZGenerator.h"
14
15namespace ThePEG {
16
27
28public:
29
37
38public:
39
52 virtual double generate(cPDPtr q1, cPDPtr q2, Energy2 mT2 ) const;
54
55public:
56
64
70 void persistentInput(PersistentIStream & is, int version);
72
76 static void Init();
77
78protected:
79
86 virtual IBPtr clone() const;
87
92 virtual IBPtr fullclone() const;
94
95private:
96
101
106
107};
108
109}
110
111
112#include "ThePEG/Utilities/ClassTraits.h"
113
114namespace ThePEG {
115
122template <>
123struct BaseClassTrait<SimpleZGenerator,1>: public ClassTraitsType {
125 typedef ZGenerator NthBase;
126};
127
132template <>
133struct ClassTraits<SimpleZGenerator>
134 : public ClassTraitsBase<SimpleZGenerator> {
136 static string className() { return "ThePEG::SimpleZGenerator"; }
142 static string library() { return "SimpleZGenerator.so"; }
143
144};
145
148}
149
150#endif /* THEPEG_SimpleZGenerator_H */
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data.
PersistentIStream is used to read persistent objects from a stream where they were previously written...
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
ConstRCPtr is a reference counted (smart) const pointer.
Definition: RCPtr.h:320
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
SimpleZGenerator is a very simple concrete subclass of ZGenerator.
static ClassDescription< SimpleZGenerator > initSimpleZGenerator
Describe a concrete class with persistent data.
static void Init()
Standard Init function used to initialize the interfaces.
virtual IBPtr clone() const
Make a simple clone of this object.
SimpleZGenerator & operator=(const SimpleZGenerator &)=delete
Private and non-existent assignment operator.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual double generate(cPDPtr q1, cPDPtr q2, Energy2 mT2) const
Return the momentum fraction.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
virtual ~SimpleZGenerator()
Destructor.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ZGenerator is the base class for all classes implementing models to generate the momentum fraction,...
Definition: ZGenerator.h:32
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Definition: ClassTraits.h:161
static string className()
Return the name of class T.
Definition: ClassTraits.h:66
static string library()
The name of a file containing the dynamic library where the class T is implemented.
Definition: ClassTraits.h:85