#ifndef __JFUNCTION1D_T__ #define __JFUNCTION1D_T__ #include "JTools/JElement.hh" #include "JTools/JCollection.hh" #include "JTools/JGridCollection.hh" #include "JTools/JSpline.hh" #include "JTools/JHermiteSpline.hh" #include "JTools/JPolint.hh" #include "JTools/JResult.hh" /** * \author mdejong */ namespace JTOOLS {} namespace JPP { using namespace JTOOLS; } namespace JTOOLS { /** * Type definition of a spline interpolation based on a JGridCollection. */ template > struct JGridSplineFunction1D : public JSplineFunction1D {}; /** * Type definition of a spline interpolation method based on a JCollection with double result type. */ struct JSplineFunction1D_t : public JSplineFunction1D, JCollection, double> {}; /** * Type definition of a spline interpolation method based on a JCollection with JResultDerivative result type. */ struct JSplineFunction1H_t : public JSplineFunction1D, JCollection, JResultDerivative > {}; /** * Type definition of a spline interpolation method based on a JCollection with JResultPDF result type. */ struct JSplineFunction1S_t : public JSplineFunction1D, JCollection, JResultPDF > {}; /** * Type definition of a spline interpolation based on a JGridCollection with result type double. */ struct JGridSplineFunction1D_t : public JSplineFunction1D, JGridCollection, double> {}; /** * Type definition of a spline interpolation based on a JGridCollection with JResultDerivative result type. */ struct JGridSplineFunction1H_t : public JSplineFunction1D, JGridCollection, JResultDerivative > {}; /** * Type definition of a spline interpolation based on a JGridCollection with JResultPDF result type. */ struct JGridSplineFunction1S_t : public JSplineFunction1D, JGridCollection, JResultPDF > {}; /** * Type definition of a spline interpolation based on a JGridCollection. */ template > struct JGridHermiteSplineFunction1D : public JHermiteSplineFunction1D {}; /** * Type definition of a spline interpolation method based on a JCollection with double result type. */ struct JHermiteSplineFunction1D_t : public JHermiteSplineFunction1D, JCollection, double> {}; /** * Type definition of a spline interpolation method based on a JCollection with JResultDerivative result type. */ struct JHermiteSplineFunction1H_t : public JHermiteSplineFunction1D, JCollection, JResultDerivative > {}; /** * Type definition of a spline interpolation method based on a JCollection with JResultPDF result type. */ struct JHermiteSplineFunction1S_t : public JHermiteSplineFunction1D, JCollection, JResultPDF > {}; /** * Type definition of a spline interpolation based on a JGridCollection with result type double. */ struct JGridHermiteSplineFunction1D_t : public JHermiteSplineFunction1D, JGridCollection, double> {}; /** * Type definition of a spline interpolation based on a JGridCollection with JResultDerivative result type. */ struct JGridHermiteSplineFunction1H_t : public JHermiteSplineFunction1D, JGridCollection, JResultDerivative > {}; /** * Type definition of a zero degree polynomial interpolation. */ template > struct JPolint0Function1D : public JPolintFunction1D<0, JElement_t, JCollection, JDistance_t> {}; /** * Type definition of a 1st degree polynomial interpolation. */ template > struct JPolint1Function1D : public JPolintFunction1D<1, JElement_t, JCollection, JDistance_t> {}; /** * Type definition of a 2nd degree polynomial interpolation. */ template > struct JPolint2Function1D : public JPolintFunction1D<2, JElement_t, JCollection, JDistance_t> {}; /** * Type definition of a 3rd degree polynomial interpolation. */ template > struct JPolint3Function1D : public JPolintFunction1D<3, JElement_t, JCollection, JDistance_t> {}; /** * Polynomial interpolation method with result type double. */ template struct JPolintFunction1D_t : public JPolintFunction1D, JCollection, double> {}; /** * Type definition of a zero degree polynomial interpolation with result type double. */ struct JPolint0Function1D_t : public JPolintFunction1D_t<0> {}; /** * Type definition of a 1st degree polynomial interpolation with result type double. */ struct JPolint1Function1D_t : public JPolintFunction1D_t<1> {}; /** * Type definition of a 2nd degree polynomial interpolation with result type double. */ struct JPolint2Function1D_t : public JPolintFunction1D_t<2> {}; /** * Type definition of a 3rd degree polynomial interpolation with result type double. */ struct JPolint3Function1D_t : public JPolintFunction1D_t<3> {}; /** * Polynomial interpolation method with result type JResultDerivative. */ template struct JPolintFunction1H_t : public JPolintFunction1D, JCollection, JResultDerivative > {}; /** * Type definition of a 1st degree polynomial interpolation with result type JResultDerivative. */ struct JPolint1Function1H_t : public JPolintFunction1H_t<1> {}; /** * Type definition of a 2nd degree polynomial interpolation with result type JResultDerivative. */ struct JPolint2Function1H_t : public JPolintFunction1H_t<2> {}; /** * Type definition of a 3rd degree polynomial interpolation with result type JResultDerivative. */ struct JPolint3Function1H_t : public JPolintFunction1H_t<3> {}; /** * Polynomial interpolation method with result type JResultPDF. */ template struct JPolintFunction1S_t : public JPolintFunction1D, JCollection, JResultPDF > {}; /** * Type definition of a 1st degree polynomial interpolation with result type JResultPDF. */ struct JPolint1Function1S_t : public JPolintFunction1S_t<1> {}; /** * Type definition of a 2nd degree polynomial interpolation with result type JResultPDF. */ struct JPolint2Function1S_t : public JPolintFunction1S_t<2> {}; /** * Type definition of a 3rd degree polynomial interpolation with result type JResultPDF. */ struct JPolint3Function1S_t : public JPolintFunction1S_t<3> {}; /** * Polynomial interpolation method based on a JGridCollection with result type double. */ template struct JGridPolintFunction1D_t : public JPolintFunction1D, JGridCollection, double> {}; /** * Type definition of a zero degree polynomial interpolation based on a JGridCollection with result type double. */ struct JGridPolint0Function1D_t : public JGridPolintFunction1D_t<0> {}; /** * Type definition of a 1st degree polynomial interpolation based on a JGridCollection with result type double. */ struct JGridPolint1Function1D_t : public JGridPolintFunction1D_t<1> {}; /** * Type definition of a 2nd degree polynomial interpolation based on a JGridCollection with result type double. */ struct JGridPolint2Function1D_t : public JGridPolintFunction1D_t<2> {}; /** * Type definition of a 3rd degree polynomial interpolation based on a JGridCollection with result type double. */ struct JGridPolint3Function1D_t : public JGridPolintFunction1D_t<3> {}; /** * Polynomial interpolation method based on a JGridCollection with result type JResultDerivative. */ template struct JGridPolintFunction1H_t : public JPolintFunction1D, JGridCollection, JResultDerivative > {}; /** * Type definition of a 1st degree polynomial interpolation with result type JResultDerivative. */ struct JGridPolint1Function1H_t : public JGridPolintFunction1H_t<2> {}; /** * Type definition of a 2nd degree polynomial interpolation with result type JResultDerivative. */ struct JGridPolint2Function1H_t : public JGridPolintFunction1H_t<2> {}; /** * Type definition of a 3rd degree polynomial interpolation with result type JResultDerivative. */ struct JGridPolint3Function1H_t : public JGridPolintFunction1H_t<3> {}; /** * Polynomial interpolation method with result type JResultPDF. */ template struct JGridPolintFunction1S_t : public JPolintFunction1D, JGridCollection, JResultPDF > {}; /** * Type definition of a 1st degree polynomial interpolation with result type JResulPDF. */ struct JGridPolint1Function1S_t : public JGridPolintFunction1S_t<1> {}; /** * Type definition of a 2nd degree polynomial interpolation with result type JResulPDF. */ struct JGridPolint2Function1S_t : public JGridPolintFunction1S_t<2> {}; /** * Type definition of a 3rd degree polynomial interpolation with result type JResulPDF. */ struct JGridPolint3Function1S_t : public JGridPolintFunction1S_t<3> {}; } #endif