Jpp 19.3.0-rc.1
the software that should make you happy
Loading...
Searching...
No Matches
JFunctionalMap.hh
Go to the documentation of this file.
1#ifndef __JTOOLS__JFUNCTIONALMAP__
2#define __JTOOLS__JFUNCTIONALMAP__
3
5#include "JTools/JSpline.hh"
6#include "JTools/JPolint.hh"
9#include "JTools/JElement.hh"
10#include "JTools/JDistance.hh"
11
12
13/**
14 * \author mdejong
15 */
16
17namespace JTOOLS {}
18namespace JPP { using namespace JTOOLS; }
19
20namespace JTOOLS {
21
22
23 /**
24 * Auxiliary class to define corresponding one-dimensional function interpolator <tt>function_type</tt>.
25 */
26 template<template<class JKey_t, class JValue_t, class JDistance_t> class JFunctionalMap_t>
28
29
30 /**
31 * Specialisation of JFunctionalMap for JSplineFunctionalMap.
32 */
33 template<>
35 {
36 /**
37 * Corresponding one-dimensional function interpolator.
38 */
39 template<class JAbscissa_t,
40 class JOrdinate_t,
41 class JResult_t,
42 class JDistance_t = JDistance<JAbscissa_t> >
43 struct function_type :
44 public JSplineFunction1D<JSplineElement2D<JAbscissa_t, JOrdinate_t>, JCollection, JResult_t, JDistance_t>
45 {};
46 };
47
48
49 /**
50 * Specialisation of JFunctionalMap for JSplineFunctionalGridMap.
51 */
52 template<>
54 {
55 /**
56 * Corresponding one-dimensional function interpolator.
57 */
58 template<class JAbscissa_t,
59 class JOrdinate_t,
60 class JResult_t,
61 class JDistance_t = JDistance<JAbscissa_t> >
62 struct function_type :
63 public JSplineFunction1D<JSplineElement2D<JAbscissa_t, JOrdinate_t>, JGridCollection, JResult_t, JDistance_t>
64 {};
65 };
66
67
68 /**
69 * Specialisation of JFunctionalMap for JPolint0FunctionalMap.
70 */
71 template<>
73 {
74 /**
75 * Corresponding one-dimensional function interpolator.
76 */
77 template<class JAbscissa_t,
78 class JOrdinate_t,
79 class JResult_t,
80 class JDistance_t = JDistance<JAbscissa_t> >
81 struct function_type :
82 public JPolintFunction1D<0, JElement2D<JAbscissa_t, JOrdinate_t>, JCollection, JResult_t, JDistance_t>
83 {};
84 };
85
86
87 /**
88 * Specialisation of JFunctionalMap for JPolint1FunctionalMap.
89 */
90 template<>
92 {
93 /**
94 * Corresponding one-dimensional function interpolator.
95 */
96 template<class JAbscissa_t,
97 class JOrdinate_t,
98 class JResult_t,
99 class JDistance_t = JDistance<JAbscissa_t> >
101 public JPolintFunction1D<1, JElement2D<JAbscissa_t, JOrdinate_t>, JCollection, JResult_t, JDistance_t>
102 {};
103 };
104
105
106 /**
107 * Specialisation of JFunctionalMap for JPolint2FunctionalMap.
108 */
109 template<>
111 {
112 /**
113 * Corresponding one-dimensional function interpolator.
114 */
115 template<class JAbscissa_t,
116 class JOrdinate_t,
117 class JResult_t,
118 class JDistance_t = JDistance<JAbscissa_t> >
120 public JPolintFunction1D<2, JElement2D<JAbscissa_t, JOrdinate_t>, JCollection, JResult_t, JDistance_t>
121 {};
122 };
123
124
125 /**
126 * Specialisation of JFunctionalMap for JPolint3FunctionalMap.
127 */
128 template<>
130 {
131 /**
132 * Corresponding one-dimensional function interpolator.
133 */
134 template<class JAbscissa_t,
135 class JOrdinate_t,
136 class JResult_t,
137 class JDistance_t = JDistance<JAbscissa_t> >
139 public JPolintFunction1D<3, JElement2D<JAbscissa_t, JOrdinate_t>, JCollection, JResult_t, JDistance_t>
140 {};
141 };
142
143
144 /**
145 * Specialisation of JFunctionalMap for JPolint0FunctionalGridMap.
146 */
147 template<>
149 {
150 /**
151 * Corresponding one-dimensional function interpolator.
152 */
153 template<class JAbscissa_t,
154 class JOrdinate_t,
155 class JResult_t,
156 class JDistance_t = JDistance<JAbscissa_t> >
158 public JPolintFunction1D<0, JElement2D<JAbscissa_t, JOrdinate_t>, JGridCollection, JResult_t, JDistance_t>
159 {};
160 };
161
162
163 /**
164 * Specialisation of JFunctionalMap for JPolint1FunctionalGridMap.
165 */
166 template<>
168 {
169 /**
170 * Corresponding one-dimensional function interpolator.
171 */
172 template<class JAbscissa_t,
173 class JOrdinate_t,
174 class JResult_t,
175 class JDistance_t = JDistance<JAbscissa_t> >
177 public JPolintFunction1D<1, JElement2D<JAbscissa_t, JOrdinate_t>, JGridCollection, JResult_t, JDistance_t>
178 {};
179 };
180
181
182 /**
183 * Specialisation of JFunctionalMap for JPolint2FunctionalGridMap.
184 */
185 template<>
187 {
188 /**
189 * Corresponding one-dimensional function interpolator.
190 */
191 template<class JAbscissa_t,
192 class JOrdinate_t,
193 class JResult_t,
194 class JDistance_t = JDistance<JAbscissa_t> >
196 public JPolintFunction1D<2, JElement2D<JAbscissa_t, JOrdinate_t>, JGridCollection, JResult_t, JDistance_t>
197 {};
198 };
199
200
201 /**
202 * Specialisation of JFunctionalMap for JPolint3FunctionalGridMap.
203 */
204 template<>
206 {
207 /**
208 * Corresponding one-dimensional function interpolator.
209 */
210 template<class JAbscissa_t,
211 class JOrdinate_t,
212 class JResult_t,
213 class JDistance_t = JDistance<JAbscissa_t> >
215 public JPolintFunction1D<3, JElement2D<JAbscissa_t, JOrdinate_t>, JGridCollection, JResult_t, JDistance_t>
216 {};
217 };
218}
219
220#endif
General purpose class for a collection of sorted elements.
The elements in a collection are sorted according to their abscissa values and a given distance opera...
Various implementations of functional maps.
Template class for polynomial interpolation in 1D.
Definition JPolint.hh:1095
Template class for spline interpolation in 1D.
Definition JSpline.hh:734
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary classes and methods for multi-dimensional interpolations and histograms.
Template class for distance evaluation.
Definition JDistance.hh:24
Template definition of function object interface in one dimension.
Auxiliary class to define corresponding one-dimensional function interpolator function_type.
Type definition of a zero degree polynomial interpolation based on a JGridMap implementation.
Type definition of a zero degree polynomial interpolation based on a JMap implementation.
Type definition of a 1st degree polynomial interpolation based on a JGridMap implementation.
Type definition of a 1st degree polynomial interpolation based on a JMap implementation.
Type definition of a 2nd degree polynomial interpolation based on a JGridMap implementation.
Type definition of a 2nd degree polynomial interpolation based on a JMap implementation.
Type definition of a 3rd degree polynomial interpolation based on a JGridMap implementation.
Type definition of a 3rd degree polynomial interpolation based on a JMap implementation.
Type definition of a spline interpolation based on a JGridMap implementation.
Type definition of a spline interpolation based on a JMap implementation.