thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
GRV94L.h
1 // -*- C++ -*-
2 //
3 // GRV94L.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_GRV94L_H
10 #define ThePEG_GRV94L_H
11 // This is the declaration of the GRV94L class.
12 
13 #include "ThePEG/PDF/GRVBase.h"
14 
15 namespace ThePEG {
16 
24 class GRV94L: public GRVBase {
25 
29  Energy2 mu2() const { return 0.23*GeV2; }
30 
34  Energy2 lam2() const { return sqr(0.2322*GeV); }
35 
36 protected:
37 
42  virtual void setup(double l, Energy2 scale) const;
43 
48  virtual double uv() const;
49 
54  virtual double dv() const;
55 
60  virtual double del() const;
61 
66  virtual double udb() const;
67 
72  virtual double sb() const;
73 
78  virtual double cb() const;
79 
84  virtual double bb() const;
85 
90  virtual double gl() const;
91 
92 public:
93 
97  static void Init();
98 
99 protected:
100 
107  virtual IBPtr clone() const;
108 
113  virtual IBPtr fullclone() const;
115 
116 private:
117 
122 
126  GRV94L & operator=(const GRV94L &) = delete;
127 
128 };
129 
134 template <>
135 struct BaseClassTrait<GRV94L,1>: public ClassTraitsType {
137  typedef GRVBase NthBase;
138 };
139 
142 template <>
143 struct ClassTraits<GRV94L>: public ClassTraitsBase<GRV94L> {
145  static string className() { return "ThePEG::GRV94L"; }
149  static string library() { return "GRV94L.so"; }
150 };
151 
154 }
155 
156 #endif /* ThePEG_GRV94L_H */
virtual void setup(double l, Energy2 scale) const
Setup the l and scale to be used in the following call to uv(), dv)=, etc.
GRV94L & operator=(const GRV94L &)=delete
Private and non-existent assignment operator.
virtual double cb() const
Return the value of the c density for the values previously given by setup().
virtual double del() const
Return the value of the difference between the u and d sea densities for the values previously given ...
GRVBase inherits from PDFBase and is used as a base class for all GRV parton densities.
Definition: GRVBase.h:24
ClassTraitsType is an empty, non-polymorphic, base class.
Definition: ClassTraits.h:30
virtual IBPtr clone() const
Make a simple clone of this object.
virtual double sb() const
Return the value of the s density for the values previously given by setup().
constexpr auto sqr(const T &x) -> decltype(x *x)
The square function should really have been included in the standard C++ library. ...
Definition: ThePEG.h:117
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
A concreate implementation of ClassDescriptionBase describing a concrete class without persistent dat...
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
virtual double bb() const
Return the value of the b density for the values previously given by setup().
static void Init()
Standard Init function used to initialize the interface.
virtual double udb() const
Return the value of the average u and d sea densities for the values previously given by setup()...
Energy2 mu2() const
Return the cutoff scale.
Definition: GRV94L.h:29
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
virtual double uv() const
Return the value of the u valens density for the values previously given by setup().
Energy2 lam2() const
Return the square of used.
Definition: GRV94L.h:34
The default concrete implementation of ClassTraitsBase.
Definition: ClassTraits.h:134
GRV94L inherits from PDFBase via the GRVBase class and implements the GRV94L parton densities for (an...
Definition: GRV94L.h:24
virtual double dv() const
Return the value of the d valens density for the values previously given by setup().
virtual double gl() const
Return the value of the gluon densities for the values previously given by setup().
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
static NoPIOClassDescription< GRV94L > initGRV94L
Describe a concrete class without persistent data.
Definition: GRV94L.h:121
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
Definition: ClassTraits.h:52