lhapdf is hosted by Hepforge, IPPP Durham
LHAPDF 6.5.3
Loading...
Searching...
No Matches
Extrapolator.h
1// -*- C++ -*-
2//
3// This file is part of LHAPDF
4// Copyright (C) 2012-2022 The LHAPDF collaboration (see AUTHORS for details)
5//
6#pragma once
7#ifndef LHAPDF_Extrapolator_H
8#define LHAPDF_Extrapolator_H
9
10#include "LHAPDF/Utils.h"
11
12namespace LHAPDF {
13
14
15 // Forward declaration
16 class GridPDF;
17
18
21 public:
22
24 virtual ~Extrapolator() { }
25
26
29
31 void bind(const GridPDF* pdf) { _pdf = pdf; }
32
34 void unbind() { _pdf = 0; }
35
37 bool hasPDF() { return _pdf != 0; }
38
40 const GridPDF& pdf() const { return *_pdf; }
41
43
44
47
54 double extrapolateXQ(int id, double x, double q) const {
55 return extrapolateXQ2(id, x, q*q );
56 }
57
64 virtual double extrapolateXQ2(int id, double x, double q2) const = 0;
65
66
68
70
71
72 private:
73
74 const GridPDF* _pdf;
75
76 };
77
78
79}
80#endif
The general interface for extrapolating beyond grid boundaries.
Definition: Extrapolator.h:20
bool hasPDF()
Identify whether this Extrapolator has an associated PDF.
Definition: Extrapolator.h:37
void unbind()
Unbind from GridPDF.
Definition: Extrapolator.h:34
const GridPDF * _pdf
Definition: Extrapolator.h:74
virtual double extrapolateXQ2(int id, double x, double q2) const =0
virtual ~Extrapolator()
Destructor to allow inheritance.
Definition: Extrapolator.h:24
double extrapolateXQ(int id, double x, double q) const
Definition: Extrapolator.h:54
void bind(const GridPDF *pdf)
Bind to a GridPDF.
Definition: Extrapolator.h:31
const GridPDF & pdf() const
Get the associated GridPDF.
Definition: Extrapolator.h:40
A PDF defined via an interpolation grid.
Definition: GridPDF.h:19
Namespace for all LHAPDF functions and classes.
Definition: AlphaS.h:14