lhapdf
is hosted by
Hepforge
,
IPPP Durham
LHAPDF
6.5.4
Main page
PDF sets
Class hierarchy
Functions
Examples
More...
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Groups
Pages
/examples/analyticpdf.cc
#include "LHAPDF/PDF.h"
#include <iostream>
using namespace
std;
struct
AnalyticPDF :
public
LHAPDF::PDF
{
AnalyticPDF() {
info().set_entry(
"Flavors"
,
"-5,-4,-3,-2,-1,21,1,2,3,4,5"
);
}
double
_xfxQ2(
int
id
,
double
x,
double
q2)
const
{
if
(abs(
id
) > 5 &&
id
!= 21)
return
0;
return
0.15 * sin(20.0*x) * sin(20.0*q2);
}
void
_xfxQ2(
double
x,
double
q2, std::vector<double>& ret)
const
{
for
(
int
id
(-5);
id
<5; ++id)
_xfxQ2(
id
,x,q2);
}
bool
inRangeX(
double
x)
const
{
return
true
; }
bool
inRangeQ2(
double
q2)
const
{
return
true
; }
};
int
main(
int
argc,
const
char
* argv[]) {
AnalyticPDF apdf;
LHAPDF::PDF
& pdf = apdf;
for
(
double
x = 0; x < 1.0; x += 0.1) {
for
(
double
logq2 = 1; logq2 < 6; logq2 += 0.5) {
const
double
q2 = pow(10, logq2);
cout << x <<
" "
<< q2 <<
" "
<< pdf.
xfxQ2
(21, x, q2) << endl;
}
}
return
0;
}
Generated by
1.8.5