thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
GRV94M.h
1 // -*- C++ -*-
2 //
3 // GRV94M.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_GRV94M_H
10 #define ThePEG_GRV94M_H
11 // This is the declaration of the GRV94M class.
12 
13 #include "ThePEG/PDF/GRVBase.h"
14 
15 namespace ThePEG {
16 
24 class GRV94M: public GRVBase {
25 
29  Energy2 mu2() const { return 0.34*GeV2; }
30 
34  Energy2 lam2() const { return sqr(0.248*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  GRV94M & operator=(const GRV94M &) = delete;
127 
128 };
129 
134 template <>
135 struct BaseClassTrait<GRV94M,1>: public ClassTraitsType {
137  typedef GRVBase NthBase;
138 };
139 
142 template <>
143 struct ClassTraits<GRV94M>: public ClassTraitsBase<GRV94M> {
145  static string className() { return "ThePEG::GRV94M"; }
149  static string library() { return "GRV94M.so"; }
150 };
151 
154 }
155 
156 #endif /* ThePEG_GRV94M_H */
virtual double uv() const
Return the value of the u valens density for the values previously given by setup().
virtual double bb() const
Return the value of the b density for the values previously given by setup().
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.
GRV94M & operator=(const GRV94M &)=delete
Private and non-existent assignment operator.
virtual void setup(double l, Energy2 scale) const
Setup the l and scale to be used in the following call to uv(), dv)=, etc.
GRV94M iherits from PDFBase via the GRVBase class and implements the GRV94M parton densities for (ant...
Definition: GRV94M.h:24
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
virtual double gl() const
Return the value of the gluon densities for the values previously given by setup().
Energy2 lam2() const
Return the square of used.
Definition: GRV94M.h:34
A concreate implementation of ClassDescriptionBase describing a concrete class without persistent dat...
virtual double cb() const
Return the value of the c density for the values previously given by setup().
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: GRV94M.h:29
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
virtual double sb() const
Return the value of the s density for the values previously given by setup().
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
static void Init()
Standard Init function used to initialize the interface.
The default concrete implementation of ClassTraitsBase.
Definition: ClassTraits.h:134
static NoPIOClassDescription< GRV94M > initGRV94M
Describe a concrete class without persistent data.
Definition: GRV94M.h:121
virtual double dv() const
Return the value of the d valens density for the values previously given by setup().
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
virtual double del() const
Return the value of the difference between the u and d sea densities for the values previously given ...
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
Definition: ClassTraits.h:52