PDFxTMDLib 2.0.0
Loading...
Searching...
No Matches
IReader.h
Go to the documentation of this file.
1#pragma once
2#include <string>
3#include <vector>
4
5#include "PDFxTMDLib/Common/InterfaceUtils.h"
6#include "PDFxTMDLib/Common/PartonUtils.h"
7
8namespace PDFxTMD
9{
10template <typename Derived> class IReader : public CRTPBase<Derived>
11{
12 public:
14 void read(const std::string &pdfName, int setNumber)
15 {
16 this->derived().read(pdfName, setNumber);
17 }
18
20 auto getData() const
21 {
22 return this->derived().getData();
23 }
24
26 std::vector<double> getValues(PhaseSpaceComponent comp) const
27 {
28 return this->derived().getValues(comp);
29 }
30
32 std::pair<double, double> getBoundaryValues(PhaseSpaceComponent comp) const
33 {
34 return this->derived().getBoundaryValues(comp);
35 }
36};
37} // namespace PDFxTMD
Definition IReader.h:11
auto getData() const
Return the reader's loaded data object.
Definition IReader.h:20
std::vector< double > getValues(PhaseSpaceComponent comp) const
Return the grid values for one phase-space component.
Definition IReader.h:26
void read(const std::string &pdfName, int setNumber)
Load one member of a named PDF set.
Definition IReader.h:14
std::pair< double, double > getBoundaryValues(PhaseSpaceComponent comp) const
Return the lower and upper bounds of one grid component.
Definition IReader.h:32
Definition Factory.h:9