PDFxTMDLib  1.0.0
IReader.h
Go to the documentation of this file.
1 #pragma once
2 #include <string>
3 #include <vector>
4 
7 
8 namespace PDFxTMD
9 {
10 template <typename Derived> class IReader : public CRTPBase<Derived>
11 {
12  public:
13  void read(const std::string &pdfName, int setNumber)
14  {
15  this->derived().read(pdfName, setNumber);
16  }
17 
18  auto getData() const
19  {
20  return this->derived().getData();
21  }
22 
23  std::vector<double> getValues(PhaseSpaceComponent comp) const
24  {
25  return this->derived().getValues(comp);
26  }
27 
28  std::pair<double, double> getBoundaryValues(PhaseSpaceComponent comp) const
29  {
30  return this->derived().getBoundaryValues(comp);
31  }
32 };
33 } // namespace PDFxTMD
Definition: InterfaceUtils.h:11
constexpr Derived & derived() noexcept
Definition: InterfaceUtils.h:13
Definition: IReader.h:11
auto getData() const
Definition: IReader.h:18
std::vector< double > getValues(PhaseSpaceComponent comp) const
Definition: IReader.h:23
std::pair< double, double > getBoundaryValues(PhaseSpaceComponent comp) const
Definition: IReader.h:28
void read(const std::string &pdfName, int setNumber)
Definition: IReader.h:13
Definition: AllFlavorsShape.h:14
PhaseSpaceComponent
Definition: PartonUtils.h:35