20 template <
class V,
class U = V>
35 template<
class T,
class U = T>
74 double Evaluate(
double const& x,
double const& z)
const;
98 double Derive(
double const& x,
double const& z)
const;
123 double Integrate(
double const& xl,
double const& xu,
double const& zl,
double const& zu)
const;
150 double Integrate(
double const& xl,
double const& xu, std::function<
double(
double const&)> zlx, std::function<
double(
double const&)> zux)
const;
161 double Integrate(std::function<
double(
double const&)> xlz, std::function<
double(
double const&)> xuz,
double const& zl,
double const& zu)
const;
174 void Print()
const { std::cout << *
this << std::endl; }
192 template<
class V,
class W>
200 template<
class A,
class B>
203 template<
class T,
class U>
206 template<
class T,
class U>
209 template<
class T,
class U>
212 template<
class T,
class U>
215 template<
class T,
class U>
218 template<
class T,
class U>
225 template<
class T,
class U>
The DoubleObject class is a collection of pairs of single objects (Distributions or Operators) accomp...
Definition doubleobject.h:37
std::vector< term< T, U > > GetTerms() const
Function to get the terms.
Definition doubleobject.h:66
DoubleObject< T, U > & MultiplyBy(std::function< double(double const &)> const &fx, std::function< double(double const &)> const &fz)
This function multiplies the objects of the single terms of the DoubleObject by a respective function...
U Evaluate2(double const &z) const
Function that evaluates the double object in the second variable leaving the first undetermined.
DoubleObject< V > operator*=(DoubleObject< V > const &o) const
std::vector< term< T, U > > _terms
Definition doubleobject.h:190
void AddTerm(term< T, U > const &newterm)
Function to add more terms.
double Derive(double const &x, double const &z) const
Function that evaluates the derivative of the double distribution.
DoubleObject()
The DoubleObject constructor.
U Integrate2(double const &zl, double const &zu) const
Function that evaluates the derivative of the double object in the second variable leaving the first ...
double Integrate(std::function< double(double const &)> xlz, std::function< double(double const &)> xuz, double const &zl, double const &zu) const
Function that evaluates the integral of the double distribution.
U Derive2(double const &z) const
Function that evaluates the derivative of the double object in the second variable leaving the first ...
DoubleObject< T, U > & operator+=(DoubleObject< T, U > const &o)
this += DoubleObject
DoubleObject(std::vector< term< T, U > > const &terms)
The DoubleObject constructor.
double Integrate(double const &xl, double const &xu, double const &zl, double const &zu) const
Function that evaluates the integral of the double distribution.
DoubleObject< T, U > & operator/=(double const &s)
this /= scalar
DoubleObject< T, U > & operator-=(DoubleObject< T, U > const &o)
this -= DoubleObject
double Integrate(double const &xl, double const &xu, std::function< double(double const &)> zlx, std::function< double(double const &)> zux) const
Function that evaluates the integral of the double distribution.
void Print() const
Print the Operator object.
Definition doubleobject.h:174
T Integrate1(double const &xl, double const &xu) const
Function that evaluates the integral of the double object in the first variable leaving the second un...
friend std::ostream & operator<<(std::ostream &os, DoubleObject< V, W > const &dob)
T Derive1(double const &x) const
Function that evaluates the derivative of the double object in the first variable leaving the second ...
T Evaluate1(double const &x) const
Function that evaluates the double object in the first variable leaving the second undetermined.
double Evaluate(double const &x, double const &z) const
Function that evaluates the double distribution.
Namespace for all APFEL++ functions and classes.
Definition alphaqcd.h:14
Distribution operator/(Distribution lhs, double const &s)
Distribution/Scalar.
Distribution operator*(double const &s, Distribution rhs)
Scalar*Distribution.
Distribution operator+(Distribution lhs, Distribution const &rhs)
Distribution+Distribution.
std::ostream & operator<<(std::ostream &os, ConvolutionMap const &cm)
Method which prints ConvolutionMap with cout <<.
Distribution operator-(Distribution lhs, Distribution const &rhs)
Distribution-Distribution.
The term structure that contains all the objects of a single term of a double object.
Definition doubleobject.h:22
U object2
Definition doubleobject.h:25
double coefficient
Definition doubleobject.h:23
V object1
Definition doubleobject.h:24