thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
PDFCuts.h
1// -*- C++ -*-
2//
3// PDFCuts.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_PDFCuts_H
10#define ThePEG_PDFCuts_H
11// This is the declaration of the PDFCuts class.
12
14#include "ThePEG/Utilities/Interval.h"
15#include "ThePEG/Cuts/Cuts.fh"
16
17namespace ThePEG {
18
27class PDFCuts {
28
29public:
30
37
42 const SInterval & newScale, const Energy2 & newSMax)
43 : theL(newL), theScale(newScale), theSMax(newSMax) {}
44
49 PDFCuts(const Cuts &, bool first, const SInterval & S,
50 const SInterval & sHat);
51
56 PDFCuts(const Cuts &, bool first, Energy maxEnergy);
58
59public:
60
66 double lMin() const { return theL.lower(); }
67
68
72 double lMax() const { return theL.upper(); }
73
77 double xMin() const { return exp(-lMax()); }
78
79
83 double xMax() const { return exp(-lMin()); }
84
85
89 Energy2 scaleMin() const { return theScale.lower(); }
90
91
95 Energy2 scaleMax() const { return theScale.upper(); }
96
97
101 Energy2 scaleMax(double x) const { return min(scaleMax(), sMax()*x); }
102
103
107 Energy2 scaleMaxL(double l) const { return scaleMax(exp(-l)); }
108
109
113 Energy2 sMax() const { return theSMax; }
114
115
117
118private:
119
124
129
134
135};
136
137}
138
139#endif /* ThePEG_PDFCuts_H */
This is the main config header file for ThePEG.
Cuts is a class for implementing kinematical cuts in ThePEG.
Definition: Cuts.h:53
An Interval object is used to represent an interval [ lower(), upper() ) where the ordering is define...
Definition: Interval.h:27
T upper() const
Return the upper limit of the interval.
Definition: Interval.h:136
T lower() const
Return the lower limit of the interval.
Definition: Interval.h:141
The PDFCuts class is used to specify cuts on scale and momentum fractions for which a PDFBase object ...
Definition: PDFCuts.h:27
PDFCuts(const Cuts &, bool first, Energy maxEnergy)
Construction from a Cuts object, using the values for the first incoming parton (or not).
PDFCuts(const Interval< double > &newL, const SInterval &newScale, const Energy2 &newSMax)
Construction from members.
Definition: PDFCuts.h:41
double xMax() const
The maximum value of x.
Definition: PDFCuts.h:83
Interval< double > theL
The minimum and maximum values of .
Definition: PDFCuts.h:123
Energy2 scaleMaxL(double l) const
The maximum scale for a given logarithmic momentum fraction.
Definition: PDFCuts.h:107
Energy2 scaleMin() const
The lower limit on the scale to be used.
Definition: PDFCuts.h:89
PDFCuts(const Cuts &, bool first, const SInterval &S, const SInterval &sHat)
Construction from a Cuts object, using the values for the first incoming parton (or not).
Energy2 sMax() const
The maximum invariant mass squared of the colliding particles.
Definition: PDFCuts.h:113
Energy2 scaleMax(double x) const
The maximum scale for a given momentum fraction.
Definition: PDFCuts.h:101
double xMin() const
The minimum value of x.
Definition: PDFCuts.h:77
double lMin() const
The minimum value of .
Definition: PDFCuts.h:66
double lMax() const
The maximum value of .
Definition: PDFCuts.h:72
Energy2 scaleMax() const
The upper limit on the scale to be used.
Definition: PDFCuts.h:95
SInterval theScale
The limits on the scale to be used.
Definition: PDFCuts.h:128
PDFCuts()
Default constructor.
Definition: PDFCuts.h:36
Energy2 theSMax
The maximum invariant mass squared of the colliding particles.
Definition: PDFCuts.h:133
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28