thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
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 
13 #include "ThePEG/Config/ThePEG.h"
14 #include "ThePEG/Utilities/Interval.h"
15 #include "ThePEG/Cuts/Cuts.fh"
16 
17 namespace ThePEG {
18 
27 class PDFCuts {
28 
29 public:
30 
36  PDFCuts() : theSMax() {}
37 
41  PDFCuts(const Interval<double> & newL,
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 
59 public:
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 
118 private:
119 
124 
129 
134 
135 };
136 
137 }
138 
139 #endif /* ThePEG_PDFCuts_H */
The PDFCuts class is used to specify cuts on scale and momentum fractions for which a PDFBase object ...
Definition: PDFCuts.h:27
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
Energy2 scaleMaxL(double l) const
The maximum scale for a given logarithmic momentum fraction.
Definition: PDFCuts.h:107
Interval< double > theL
The minimum and maximum values of .
Definition: PDFCuts.h:123
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.
T lower() const
Return the lower limit of the interval.
Definition: Interval.h:141
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
double xMin() const
The minimum value of x.
Definition: PDFCuts.h:77
PDFCuts()
Default constructor.
Definition: PDFCuts.h:36
double lMin() const
The minimum value of .
Definition: PDFCuts.h:66
Energy2 scaleMin() const
The lower limit on the scale to be used.
Definition: PDFCuts.h:89
T upper() const
Return the upper limit of the interval.
Definition: Interval.h:136
Energy2 scaleMax(double x) const
The maximum scale for a given momentum fraction.
Definition: PDFCuts.h:101
Energy2 sMax() const
The maximum invariant mass squared of the colliding particles.
Definition: PDFCuts.h:113
SInterval theScale
The limits on the scale to be used.
Definition: PDFCuts.h:128
Cuts is a class for implementing kinematical cuts in ThePEG.
Definition: Cuts.h:53
Energy2 theSMax
The maximum invariant mass squared of the colliding particles.
Definition: PDFCuts.h:133