thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
KTRapidityCut.h
1// -*- C++ -*-
2#ifndef THEPEG_KTRapidityCut_H
3#define THEPEG_KTRapidityCut_H
4//
5// This is the declaration of the KTRapidityCut class.
6//
7
8#include "ThePEG/Cuts/OneCutBase.h"
9
10namespace ThePEG {
11
24
25public:
26
31 : theMinKT(minKT), theMaxKT(Constants::MaxEnergy),
32 theMinRapidity(-Constants::MaxRapidity),
33 theMaxRapidity(Constants::MaxRapidity) {}
34
35public:
36
43 virtual Energy minKT(tcPDPtr p) const;
44
50 virtual double minEta(tcPDPtr p) const;
51
57 virtual double maxEta(tcPDPtr p) const;
58
64 virtual bool passCuts(tcCutsPtr parent,
65 tcPDPtr ptype, LorentzMomentum p) const;
67
71 virtual void describe() const;
72
73public:
74
82
88 void persistentInput(PersistentIStream & is, int version);
90
97 static void Init();
98
99protected:
100
107 virtual IBPtr clone() const;
108
113 virtual IBPtr fullclone() const;
115
116private:
117
122
127
131 double maxRapidityMin() const;
132
136 double minRapidityMax() const;
137
143 virtual double minRapidityMax(tcPDPtr p) const;
144
150 virtual double maxRapidityMin(tcPDPtr p) const;
151
152private:
153
159
165
171
177
183
184private:
185
191
197
198};
199
200}
201
202#include "ThePEG/Utilities/ClassTraits.h"
203
204namespace ThePEG {
205
210template <>
211struct BaseClassTrait<KTRapidityCut,1> {
213 typedef OneCutBase NthBase;
214};
215
218template <>
219struct ClassTraits<KTRapidityCut>
220 : public ClassTraitsBase<KTRapidityCut> {
222 static string className() { return "ThePEG::KTRapidityCut"; }
230 static string library() { return "KTRapidityCut.so"; }
231};
232
235}
236
237#endif /* THEPEG_KTRapidityCut_H */
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data.
The KTRapidityCut class is a simple concrete sub-class of OneCutbase simply requiring a minimum trans...
Definition: KTRapidityCut.h:23
virtual bool passCuts(tcCutsPtr parent, tcPDPtr ptype, LorentzMomentum p) const
Return true if a particle with type ptype and momentum p passes the cuts.
Energy maxKTMin() const
Helper function used by the interface.
Energy theMaxKT
The maximum allowed value of the transverse momentum of an outgoing parton.
virtual double maxEta(tcPDPtr p) const
Return the maximum allowed pseudo-rapidity of an outgoing parton of the given type.
Energy minKTMax() const
Helper function used by the interface.
double minRapidityMax() const
Helper function used by the interface.
static void Init()
The standard Init function used to initialize the interfaces.
virtual void describe() const
Describe the currently active cuts in the log file.
PMPtr theMatcher
If non-null only particles matching this object will be affected by this cut.
KTRapidityCut & operator=(const KTRapidityCut &)=delete
The assignment operator is private and must never be called.
Energy theMinKT
The minimum allowed value of the transverse momentum of an outgoing parton.
virtual IBPtr clone() const
Make a simple clone of this object.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
double maxRapidityMin() const
Helper function used by the interface.
virtual double minRapidityMax(tcPDPtr p) const
Return the minimum allowed rapidity of an outgoing parton of the given type.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
virtual double maxRapidityMin(tcPDPtr p) const
Return the maximum allowed rapidity of an outgoing parton of the given type.
virtual Energy minKT(tcPDPtr p) const
Return the minimum allowed value of the transverse momentum of an outgoing parton.
KTRapidityCut(Energy minKT=10 *GeV)
The default constructor.
Definition: KTRapidityCut.h:30
virtual double minEta(tcPDPtr p) const
Return the minimum allowed pseudo-rapidity of an outgoing parton of the given type.
static ClassDescription< KTRapidityCut > initKTRapidityCut
The static object used to initialize the description of this class.
double theMinRapidity
The minimum allowed rapidity of an outgoing parton.
double theMaxRapidity
The maximum allowed rapidity of an outgoing parton.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
This class corresponds to a kinematical cut to be made on a single outgoing parton from a hard sub-pr...
Definition: OneCutBase.h:39
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...
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
Definition: RCPtr.h:696
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