28  inline double f5(
const double x0,
 
   34    return TMath::Gaus(x4, x0+x1+x2+x3, 1.0, kTRUE);
 
   45int main(
int argc, 
char **argv)
 
   57    JParser<> zap(
"Example program to create 2D function interpolator from multi-dimensional interpolator.");
 
   66  catch(
const exception &error) {
 
   67    FATAL(error.what() << endl);
 
   70  ASSERT(numberOfEvents > 0);
 
   72  const double xmin = -1.0;
 
   73  const double xmax = +1.0;
 
   77  typedef JFunction1D_t::abscissa_type                                     abscissa_type;
 
   78  typedef JFunction1D_t::value_type                                        value_type;
 
   97  for (
double x0 = xmin; x0 < xmax + 0.5*dx; x0 += dx) {
 
   98    for (
double x1 = xmin; x1 < xmax + 0.5*dx; x1 += dx) {
 
   99      for (
double x2 = xmin; x2 < xmax + 0.5*dx; x2 += dx) {
 
  100        for (
double x3 = xmin; x3 < xmax + 0.5*dx; x3 += dx) {
 
  101          for (
double x4 = xmin; x4 < xmax + 0.5*dx; x4 += dx) {
 
  102            g5[x0][x1][x2][x3][x4] = 
f5(x0,x1,x2,x3,x4);
 
  103            h5[x0][x1][x2][x3][x4] = 
f5(x0,x1,x2,x3,x4);
 
  114  const double x0 = +0.15;
 
  115  const double x1 = -0.25;
 
  116  const double x2 =  0.25;
 
  120  JTimer timer(
"3D interpolator");
 
  124  for (
int i = 0; i != 100; ++i) {
 
  125    copy(h5(x0,x1,x2), g2);      
 
  133  JTimer t2(
"2D interpolator");
 
  134  JTimer t5(
"5D interpolator");
 
  149  for (
int i = 0; i != numberOfEvents; ++i) {
 
  151    for (
int __i = 0; __i != N; ++__i) {
 
  153      const double x3 = gRandom->Uniform(xmin, xmax);
 
  154      const double x4 = gRandom->Uniform(xmin, xmax);
 
  158      z[__i] = 
f5(x0,x1,x2,x3,x4);
 
  163    for (
int __i = 0; __i != N; ++__i) {
 
  164      v[__i] = g2(x[__i], y[__i]);
 
  171    for (
int __i = 0; __i != N; ++__i) {
 
  172      w[__i] = g5(x0,x1,x2,x[__i],y[__i]);
 
  177    for (
int __i = 0; __i != N; ++__i) {
 
  178      Q2.
put(
v[__i] - z[__i]);
 
  179      Q5.
put(
w[__i] - z[__i]);
 
  186    Q5.
print(cout, 
false);
 
  188    t2.
print(cout, 1.0 / (N * numberOfEvents), 
nano_t);
 
  189    t5.
print(cout, 1.0 / (N * numberOfEvents), 
nano_t);
 
 
Various implementations of functional maps.
 
General purpose messaging.
 
#define ASSERT(A,...)
Assert macro.
 
int main(int argc, char **argv)
 
Utility class to parse command line options.
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
 
double f5(const double x0, const double x1, const double x2, const double x3, const double x4)
5D function.
 
int numberOfBins
number of bins for average CDF integral of optical module
 
Auxiliary class for CPU timing and usage.
 
void print(std::ostream &out, const JScale_t scale=milli_t) const
Print timer data.
 
Utility class to parse command line options.
 
void copy(const Head &from, JHead &to)
Copy header from from to to.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).