thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
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
15namespace ThePEG {
16
24class GRV94M: public GRVBase {
25
29 Energy2 mu2() const { return 0.34*GeV2; }
30
34 Energy2 lam2() const { return sqr(0.248*GeV); }
35
36protected:
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
92public:
93
97 static void Init();
98
99protected:
100
107 virtual IBPtr clone() const;
108
113 virtual IBPtr fullclone() const;
115
116private:
117
122
126 GRV94M & operator=(const GRV94M &) = delete;
127
128};
129
134template <>
135struct BaseClassTrait<GRV94M,1>: public ClassTraitsType {
137 typedef GRVBase NthBase;
138};
139
142template <>
143struct 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 */
GRV94M iherits from PDFBase via the GRVBase class and implements the GRV94M parton densities for (ant...
Definition: GRV94M.h:24
virtual void setup(double l, Energy2 scale) const
Setup the l and scale to be used in the following call to uv(), dv)=, etc.
virtual IBPtr clone() const
Make a simple clone of this object.
virtual double bb() const
Return the value of the b 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 ...
Energy2 mu2() const
Return the cutoff scale.
Definition: GRV94M.h:29
virtual double udb() const
Return the value of the average u and d sea densities 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.
virtual double gl() const
Return the value of the gluon densities for the values previously given by setup().
virtual double cb() const
Return the value of the c density for the values previously given by setup().
virtual double uv() const
Return the value of the u valens density for the values previously given by setup().
virtual double dv() const
Return the value of the d valens density for the values previously given by setup().
virtual double sb() const
Return the value of the s density for the values previously given by setup().
static NoPIOClassDescription< GRV94M > initGRV94M
Describe a concrete class without persistent data.
Definition: GRV94M.h:121
static void Init()
Standard Init function used to initialize the interface.
GRV94M & operator=(const GRV94M &)=delete
Private and non-existent assignment operator.
Energy2 lam2() const
Return the square of used.
Definition: GRV94M.h:34
GRVBase inherits from PDFBase and is used as a base class for all GRV parton densities.
Definition: GRVBase.h:24
A concreate implementation of ClassDescriptionBase describing a concrete class without persistent dat...
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
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
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
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
ClassTraitsType is an empty, non-polymorphic, base class.
Definition: ClassTraits.h:30