8 template <
typename Derived,
typename Reader,
typename... InterpolateArgs>
14 this->
derived().initialize(reader);
19 return this->
derived().interpolate(flavor, args...);
21 void interpolate(InterpolateArgs... args, std::array<double, DEFAULT_TOTAL_PDFS> &output)
const
23 return this->
derived().interpolate(args..., output);
27 return this->
derived().getReader();
30 template <
typename Reader,
typename Derived>
35 template <
typename Reader,
typename Derived>
Definition: InterfaceUtils.h:11
constexpr Derived & derived() noexcept
Definition: InterfaceUtils.h:13
Definition: IInterpolator.h:10
void interpolate(InterpolateArgs... args, std::array< double, DEFAULT_TOTAL_PDFS > &output) const
Definition: IInterpolator.h:21
double interpolate(PartonFlavor flavor, InterpolateArgs... args) const
Definition: IInterpolator.h:17
const IReader< Reader > * getReader() const
Definition: IInterpolator.h:25
void initialize(const IReader< Reader > *reader)
Definition: IInterpolator.h:12
Definition: IInterpolator.h:37
Definition: IInterpolator.h:32
Definition: AllFlavorsShape.h:14
PartonFlavor
Definition: PartonUtils.h:58