Jpp
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t > Class Template Referenceabstract

Multi-dimensional PDF table for arrival time of Cherenkov light. More...

#include <JPDFTable.hh>

Inheritance diagram for JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >:
JTOOLS::JTransformableMultiFunction< JFunction_t, JMaplist_t, JDistance_t > JIO::JSerialisable JIO::JObjectBinaryIO< T > JTOOLS::JMultiFunction< JFunction_t, JMaplist_t, JDistance_t > JTOOLS::JTransformable< JMapLength< JMaplist_t >::value, JFunction_t::argument_type > JTOOLS::JMultiMap< JFunction_t::argument_type, JFunction_t, JMaplist_t, JDistance_t >

Public Types

enum  { NUMBER_OF_DIMENSIONS = transformablemultifunction_t::NUMBER_OF_DIMENSIONS }
 
typedef JTransformableMultiFunction< JFunction1D_t, JMaplist_t, JDistance_t > transformablemultifunction_t
 
typedef transformablemultifunction_t::argument_type argument_type
 
typedef transformablemultifunction_t::result_type result_type
 
typedef transformablemultifunction_t::value_type value_type
 
typedef transformablemultifunction_t::multimap_type multimap_type
 
typedef transformablemultifunction_t::transformer_type transformer_type
 
typedef transformablemultifunction_t::super_const_iterator super_const_iterator
 
typedef transformablemultifunction_t::super_iterator super_iterator
 
typedef transformablemultifunction_t::function_type function_type
 
enum  { NUMBER_OF_DIMENSIONS = multifunction_type::NUMBER_OF_DIMENSIONS }
 
typedef JMultiFunction< JFunction_t, JMaplist_t, JDistance_t > multifunction_type
 
typedef multifunction_type::supervisor_type supervisor_type
 
typedef multifunction_type::abscissa_type abscissa_type
 
typedef multifunction_type::ordinate_type ordinate_type
 
typedef multifunction_type::const_iterator const_iterator
 
typedef multifunction_type::const_reverse_iterator const_reverse_iterator
 
typedef multifunction_type::iterator iterator
 
typedef multifunction_type::reverse_iterator reverse_iterator
 
typedef transformer_type::array_type array_type
 
enum  { NUMBER_OF_DIMENSIONS = JMapLength<JMaplist_t>::value + JFunction_t::NUMBER_OF_DIMENSIONS }
 

Public Member Functions

 JPDFTable ()
 Default constructor. More...
 
template<class JPDF_t , class JPDFMaplist_t , class JPDFDistance_t >
 JPDFTable (const JTransformableMultiFunction< JPDF_t, JPDFMaplist_t, JPDFDistance_t > &input)
 Constructor. More...
 
template<class JHistogram1D_t , class JHistogramMaplist_t , class JHistogramDistance_t >
 JPDFTable (const JTransformableMultiHistogram< JHistogram1D_t, JHistogramMaplist_t, JHistogramDistance_t > &input)
 Constructor. More...
 
void blur (const double TTS, const int numberOfPoints=25, const double epsilon=1.0e-10, const double quantile=0.99)
 Blur PDF. More...
 
void compress (const JRange< typename function_type::abscissa_type > &Crange)
 Compresses PDF to abscissa range specified by Crange. More...
 
virtual JReaderread (JReader &in)
 Read from input. More...
 
virtual JWriterwrite (JWriter &out) const
 Write from input. More...
 
template<class JPDF_t , class JPDFMaplist_t , class JPDFDistance_t >
void insert (const JTransformableMultiFunction< JPDF_t, JPDFMaplist_t, JPDFDistance_t > &input)
 Insert multidimensional input. More...
 
template<class JHistogram_t , class JHistogramMaplist_t , class JHistogramDistance_t >
void insert (const JTransformableMultiHistogram< JHistogram_t, JHistogramMaplist_t, JHistogramDistance_t > &input)
 Insert multidimensional input. More...
 
const JTransformableMultiFunctiongetTransformableMultiFunction () const
 Get transformable multidimensional function. More...
 
JTransformableMultiFunctiongetTransformableMultiFunction ()
 Get transformable multidimensional function. More...
 
template<class JPDF_t , class JPDFMaplist_t , class JPDFDistance_t >
void insert (const JTransformableMultiFunction< JPDF_t, JPDFMaplist_t, JPDFDistance_t > &input)
 Insert multidimensional input. More...
 
template<class JHistogram_t , class JHistogramMaplist_t , class JHistogramDistance_t >
void insert (const JTransformableMultiHistogram< JHistogram_t, JHistogramMaplist_t, JHistogramDistance_t > &input)
 Insert multidimensional input. More...
 
template<unsigned int N, class __JAbscissa_t , class __JContents_t , template< class, class, class > class __JMap_t, class __JDistance_t >
void insert (const JMultiKey< N, argument_type > &key, const JHistogramMap< __JAbscissa_t, __JContents_t, __JMap_t, __JDistance_t > &input)
 Insert multidimensional histogram at multidimensional key. More...
 
template<class __JValue_t >
void insert (const JMultiKey< JMapLength< JMaplist_t >::value, argument_type > &key, const __JValue_t &input)
 Convert one-dimensional histogram to PDF and insert result at given multidimensional key. More...
 
template<class JPDF_t , class JPDFMaplist_t , class JPDFDistance_t >
void insert (const JMultiFunction< JPDF_t, JPDFMaplist_t, JPDFDistance_t > &input)
 Insert multidimensional input. More...
 
template<class JHistogram_t , class JHistogramMaplist_t , class JHistogramDistance_t >
void insert (const JMultiHistogram< JHistogram_t, JHistogramMaplist_t, JHistogramDistance_t > &input)
 Insert multidimensional input. More...
 
template<class JMultiFunction_t >
void add (const JMultiFunction_t &input)
 Add function. More...
 
result_type operator() (const argument_type x,...) const
 Multidimensional interpolation method call. More...
 
virtual result_type evaluate (const argument_type *pX) const
 Recursive function value evaluation. More...
 
virtual void transform (const transformer_type &transformer)
 Application of weight function and coordinate transformation. More...
 
virtual void transform (const transformer_type &transformer)=0
 Application of transformation. More...
 
const JMultiFunctiongetMultiFunction () const
 Get multidimensional function. More...
 
JMultiFunctiongetMultiFunction ()
 Get multidimensional function. More...
 
void compile ()
 Compilation. More...
 
void setExceptionHandler (const supervisor_type &supervisor)
 Set the supervisor for handling of exceptions. More...
 
void load (const char *file_name)
 Load from input file. More...
 
void store (const char *file_name) const
 Store to output file. More...
 

Public Attributes

JLANG::JSharedPointer< transformer_typetransformer
 

Protected Member Functions

template<unsigned int N, class __JAbscissa_t , class __JContents_t , template< class, class, class > class __JMap_t, class __JDistance_t >
void insert (const JMultiKey< N, argument_type > &key, const JHistogramMap< __JAbscissa_t, __JContents_t, __JMap_t, __JDistance_t > &input)
 Insert multidimensional histogram at multidimensional key. More...
 
template<class __JValue_t >
void insert (const JMultiKey< JMapLength< JMaplist_t >::value, argument_type > &key, const __JValue_t &input)
 Convert one-dimensional histogram to PDF and insert result at given multidimensional key. More...
 

Static Protected Member Functions

static double gauss (const double x, const double sigma)
 Gauss function (normalised to 1 at x = 0). More...
 
static double Gauss (const double x, const double sigma)
 Normalised Gauss function. More...
 
static double Gauss (const double x, const double x0, const double sigma)
 Normalised Gauss function. More...
 

Protected Attributes

va_list ap
 
JArray< NUMBER_OF_DIMENSIONS, argument_typebuffer
 

Detailed Description

template<class JFunction1D_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<typename JFunction1D_t::argument_type>>
class JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >

Multi-dimensional PDF table for arrival time of Cherenkov light.

Definition at line 39 of file JPDFTable.hh.

Member Typedef Documentation

◆ transformablemultifunction_t

template<class JFunction1D_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<typename JFunction1D_t::argument_type>>
typedef JTransformableMultiFunction<JFunction1D_t, JMaplist_t, JDistance_t> JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::transformablemultifunction_t

Definition at line 46 of file JPDFTable.hh.

◆ argument_type

template<class JFunction1D_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<typename JFunction1D_t::argument_type>>
typedef transformablemultifunction_t::argument_type JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::argument_type

Definition at line 48 of file JPDFTable.hh.

◆ result_type

template<class JFunction1D_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<typename JFunction1D_t::argument_type>>
typedef transformablemultifunction_t::result_type JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::result_type

Definition at line 49 of file JPDFTable.hh.

◆ value_type

template<class JFunction1D_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<typename JFunction1D_t::argument_type>>
typedef transformablemultifunction_t::value_type JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::value_type

Definition at line 50 of file JPDFTable.hh.

◆ multimap_type

template<class JFunction1D_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<typename JFunction1D_t::argument_type>>
typedef transformablemultifunction_t::multimap_type JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::multimap_type

Definition at line 52 of file JPDFTable.hh.

◆ transformer_type

template<class JFunction1D_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<typename JFunction1D_t::argument_type>>
typedef transformablemultifunction_t::transformer_type JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::transformer_type

Definition at line 53 of file JPDFTable.hh.

◆ super_const_iterator

template<class JFunction1D_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<typename JFunction1D_t::argument_type>>
typedef transformablemultifunction_t::super_const_iterator JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::super_const_iterator

Definition at line 57 of file JPDFTable.hh.

◆ super_iterator

template<class JFunction1D_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<typename JFunction1D_t::argument_type>>
typedef transformablemultifunction_t::super_iterator JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::super_iterator

Definition at line 58 of file JPDFTable.hh.

◆ function_type

template<class JFunction1D_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<typename JFunction1D_t::argument_type>>
typedef transformablemultifunction_t::function_type JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::function_type

Definition at line 59 of file JPDFTable.hh.

◆ multifunction_type

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
typedef JMultiFunction<JFunction_t, JMaplist_t, JDistance_t> JTOOLS::JTransformableMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::multifunction_type
inherited

Definition at line 46 of file JTransformableMultiFunction.hh.

◆ supervisor_type

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
typedef multifunction_type::supervisor_type JTOOLS::JTransformableMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::supervisor_type
inherited

Definition at line 54 of file JTransformableMultiFunction.hh.

◆ abscissa_type

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
typedef multifunction_type::abscissa_type JTOOLS::JTransformableMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::abscissa_type
inherited

Definition at line 56 of file JTransformableMultiFunction.hh.

◆ ordinate_type

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
typedef multifunction_type::ordinate_type JTOOLS::JTransformableMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::ordinate_type
inherited

Definition at line 57 of file JTransformableMultiFunction.hh.

◆ const_iterator

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
typedef multifunction_type::const_iterator JTOOLS::JTransformableMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::const_iterator
inherited

Definition at line 60 of file JTransformableMultiFunction.hh.

◆ const_reverse_iterator

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
typedef multifunction_type::const_reverse_iterator JTOOLS::JTransformableMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::const_reverse_iterator
inherited

Definition at line 61 of file JTransformableMultiFunction.hh.

◆ iterator

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
typedef multifunction_type::iterator JTOOLS::JTransformableMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::iterator
inherited

Definition at line 62 of file JTransformableMultiFunction.hh.

◆ reverse_iterator

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
typedef multifunction_type::reverse_iterator JTOOLS::JTransformableMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::reverse_iterator
inherited

Definition at line 63 of file JTransformableMultiFunction.hh.

◆ array_type

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
typedef transformer_type::array_type JTOOLS::JTransformableMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::array_type
inherited

Definition at line 69 of file JTransformableMultiFunction.hh.

Member Enumeration Documentation

◆ anonymous enum

template<class JFunction1D_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<typename JFunction1D_t::argument_type>>
anonymous enum
Enumerator
NUMBER_OF_DIMENSIONS 

Definition at line 55 of file JPDFTable.hh.

◆ anonymous enum

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
anonymous enum
inherited
Enumerator
NUMBER_OF_DIMENSIONS 

Definition at line 48 of file JTransformableMultiFunction.hh.

◆ anonymous enum

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
anonymous enum
inherited
Enumerator
NUMBER_OF_DIMENSIONS 

Definition at line 50 of file JMultiFunction.hh.

50 { NUMBER_OF_DIMENSIONS = JMapLength<JMaplist_t>::value + JFunction_t::NUMBER_OF_DIMENSIONS };

Constructor & Destructor Documentation

◆ JPDFTable() [1/3]

template<class JFunction1D_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<typename JFunction1D_t::argument_type>>
JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::JPDFTable ( )
inline

Default constructor.

Definition at line 67 of file JPDFTable.hh.

67  :
69  {}

◆ JPDFTable() [2/3]

template<class JFunction1D_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<typename JFunction1D_t::argument_type>>
template<class JPDF_t , class JPDFMaplist_t , class JPDFDistance_t >
JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::JPDFTable ( const JTransformableMultiFunction< JPDF_t, JPDFMaplist_t, JPDFDistance_t > &  input)
inline

Constructor.

Parameters
inputmulti-dimensional function

Definition at line 78 of file JPDFTable.hh.

78  :
80  {}

◆ JPDFTable() [3/3]

template<class JFunction1D_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<typename JFunction1D_t::argument_type>>
template<class JHistogram1D_t , class JHistogramMaplist_t , class JHistogramDistance_t >
JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::JPDFTable ( const JTransformableMultiHistogram< JHistogram1D_t, JHistogramMaplist_t, JHistogramDistance_t > &  input)
inline

Constructor.

Parameters
inputmulti-dimensional histogram

Definition at line 89 of file JPDFTable.hh.

89  :
91  {}

Member Function Documentation

◆ blur()

template<class JFunction1D_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<typename JFunction1D_t::argument_type>>
void JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::blur ( const double  TTS,
const int  numberOfPoints = 25,
const double  epsilon = 1.0e-10,
const double  quantile = 0.99 
)
inline

Blur PDF.

The arrival times of Cherenkov light are smeared according to a Gaussian distribution with the specified width (i.e. TTS) using Gauss-Hermite integration. An exception is made when the time range according the specified quantile is smaller than the specified width (TTS) of the Gaussian distribution. In that case, the resulting PDF is a Gaussian distribution with the specified width (TTS) and normalisation according to the integral value of the input PDF. A smooth transition is imposed between the normal regime and this exeption.

Parameters
TTSTTS [ns]
numberOfPointsnumber of points for Gauss-Hermite integration
epsilonprecision
quantilequantile

Definition at line 110 of file JPDFTable.hh.

114  {
115  using namespace std;
116  using namespace JTOOLS;
117 
118  typedef typename transformer_type::array_type array_type;
119 
120  const JGaussHermite engine(numberOfPoints, epsilon);
121 
122  for (super_iterator i = this->super_begin(); i != this->super_end(); ++i) {
123 
124  const array_type array = (*i).getKey();
125  function_type& f1 = (*i).getValue();
126 
127  if (!f1.empty()) {
128 
129  const typename function_type::supervisor_type& supervisor = f1.getSupervisor();
130 
132  const JMultiMapPutTransformer<NUMBER_OF_DIMENSIONS - 1, value_type> put(*(this->transformer), array);
133 
134  f1.transform(get);
135  f1.compile();
136 
137  const JQuantiles Q(f1, quantile);
138 
139  // abscissa
140 
141  JSet<double> X;
142 
143  for (JGaussHermite::const_iterator j = engine.begin(); j != engine.end(); ++j) {
144  X.insert(Q.getX() + TTS*sqrt(2.0)*j->getX());
145  }
146 
147  for (typename function_type::const_iterator j = f1.begin(); j != f1.end(); ++j) {
148 
149  if (j->getX() - TTS < X.getXmin()) {
150  X.insert(j->getX() - TTS);
151  }
152 
153  if (j->getX() + TTS > X.getXmax()) {
154  X.insert(j->getX() + TTS);
155  }
156  }
157 
158 
159  const double W = gauss(Q.getUpperLimit() - Q.getLowerLimit(), TTS);
160 
162 
163  for (JSet<double>::const_iterator x = X.begin(); x != X.end(); ++x) {
164 
165  double y = 0.0;
166 
167  for (JGaussHermite::const_iterator j = engine.begin(); j != engine.end(); ++j) {
168 
169  const double u = j->getX();
170  const double v = j->getY() / sqrt(PI);
171  const double w = get_value(f1(*x + u*TTS*sqrt(2.0)));
172 
173  y += v * w;
174  }
175 
176  buffer[*x] = W * Q.getIntegral() * Gauss(*x - Q.getX(), TTS) + (1.0 - W) * y;
177  }
178 
179  buffer.transform(put);
180  buffer.compile();
181 
182  f1 = buffer;
183 
184  f1.setExceptionHandler(supervisor);
185  }
186  }
187  }

◆ compress()

template<class JFunction1D_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<typename JFunction1D_t::argument_type>>
void JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::compress ( const JRange< typename function_type::abscissa_type > &  Crange)
inline

Compresses PDF to abscissa range specified by Crange.

Parameters
CrangeCompression Range [PDF abscissa_type]

Definition at line 194 of file JPDFTable.hh.

195  {
196 
197  for (super_iterator pdf_it=this->super_begin(); pdf_it!=this->super_end(); ++pdf_it) {
198  function_type& f1 = pdf_it.getValue();
199 
200  typename function_type::iterator f1_newB = f1.lower_bound(Crange.getLowerLimit());
201  f1.function_type::container_type::erase(f1.begin(),f1_newB);
202  typename function_type::iterator f1_newE = f1.lower_bound(Crange.getUpperLimit());
203  f1.function_type::container_type::erase(++f1_newE,f1.end());
204  }
205 
206  }

◆ read()

template<class JFunction1D_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<typename JFunction1D_t::argument_type>>
virtual JReader& JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::read ( JReader in)
inlinevirtual

Read from input.

Parameters
inreader
Returns
reader

Implements JIO::JSerialisable.

Definition at line 214 of file JPDFTable.hh.

215  {
216  if (in >> static_cast<transformablemultifunction_t&>(*this)) {
217 
218  // read optional transformer
219 
221 
222  if (buffer.read(in)) {
223 
224  this->transformer.reset(buffer.clone());
225 
226  } else {
227 
228  in.clear();
229 
231  }
232  }
233 
234  this->compile();
235 
236  return in;
237  }

◆ write()

template<class JFunction1D_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<typename JFunction1D_t::argument_type>>
virtual JWriter& JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::write ( JWriter out) const
inlinevirtual

Write from input.

Parameters
outwriter
Returns
writer

Implements JIO::JSerialisable.

Definition at line 246 of file JPDFTable.hh.

247  {
248  out << static_cast<const transformablemultifunction_t&>(*this);
249 
250  this->transformer->write(out);
251 
252  return out;
253  }

◆ gauss()

template<class JFunction1D_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<typename JFunction1D_t::argument_type>>
static double JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::gauss ( const double  x,
const double  sigma 
)
inlinestaticprotected

Gauss function (normalised to 1 at x = 0).

Parameters
xx
sigmasigma
Returns
function value

Definition at line 263 of file JPDFTable.hh.

264  {
265  const double u = x / sigma;
266 
267  if (fabs(u) < 10.0)
268  return exp(-0.5*u*u);
269  else
270  return 0.0;
271  }

◆ Gauss() [1/2]

template<class JFunction1D_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<typename JFunction1D_t::argument_type>>
static double JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::Gauss ( const double  x,
const double  sigma 
)
inlinestaticprotected

Normalised Gauss function.

Parameters
xx
sigmasigma
Returns
function value

Definition at line 281 of file JPDFTable.hh.

282  {
283  return gauss(x, sigma) / sqrt(2.0*JTOOLS::PI) / sigma;
284  }

◆ Gauss() [2/2]

template<class JFunction1D_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<typename JFunction1D_t::argument_type>>
static double JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::Gauss ( const double  x,
const double  x0,
const double  sigma 
)
inlinestaticprotected

Normalised Gauss function.

Parameters
xx
x0central value
sigmasigma
Returns
function value

Definition at line 295 of file JPDFTable.hh.

296  {
297  return Gauss(x - x0, sigma);
298  }

◆ insert() [1/10]

template<class JFunction1D_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<typename JFunction1D_t::argument_type>>
template<class JPDF_t , class JPDFMaplist_t , class JPDFDistance_t >
void JTOOLS::JTransformableMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::insert ( class JPDF_t  ,
class JPDFMaplist_t  ,
class JPDFDistance_t   
)
inline

Insert multidimensional input.

Parameters
inputmultidimensional function

Definition at line 124 of file JTransformableMultiFunction.hh.

125  {
126  this->transformer.reset(input.transformer->clone());
127 
129  }

◆ insert() [2/10]

template<class JFunction1D_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<typename JFunction1D_t::argument_type>>
template<class JHistogram_t , class JHistogramMaplist_t , class JHistogramDistance_t >
void JTOOLS::JTransformableMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::insert ( class JHistogram_t  ,
class JHistogramMaplist_t  ,
class JHistogramDistance_t   
)
inline

Insert multidimensional input.

Parameters
inputmultidimensional histogram

Definition at line 138 of file JTransformableMultiFunction.hh.

139  {
140  this->transformer.reset(input.transformer->clone());
141 
143  }

◆ getTransformableMultiFunction() [1/2]

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
const JTransformableMultiFunction& JTOOLS::JTransformableMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::getTransformableMultiFunction ( ) const
inlineinherited

Get transformable multidimensional function.

Returns
this transformable multidimensional function

Definition at line 101 of file JTransformableMultiFunction.hh.

102  {
103  return static_cast<const JTransformableMultiFunction&>(*this);
104  }

◆ getTransformableMultiFunction() [2/2]

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
JTransformableMultiFunction& JTOOLS::JTransformableMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::getTransformableMultiFunction ( )
inlineinherited

Get transformable multidimensional function.

Returns
this transformable multidimensional function

Definition at line 112 of file JTransformableMultiFunction.hh.

113  {
114  return static_cast<JTransformableMultiFunction&>(*this);
115  }

◆ insert() [3/10]

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
template<class JPDF_t , class JPDFMaplist_t , class JPDFDistance_t >
void JTOOLS::JTransformableMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::insert ( const JTransformableMultiFunction< JPDF_t, JPDFMaplist_t, JPDFDistance_t > &  input)
inlineinherited

Insert multidimensional input.

Parameters
inputmultidimensional function

Definition at line 124 of file JTransformableMultiFunction.hh.

125  {
126  this->transformer.reset(input.transformer->clone());
127 
129  }

◆ insert() [4/10]

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
template<class JHistogram_t , class JHistogramMaplist_t , class JHistogramDistance_t >
void JTOOLS::JTransformableMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::insert ( const JTransformableMultiHistogram< JHistogram_t, JHistogramMaplist_t, JHistogramDistance_t > &  input)
inlineinherited

Insert multidimensional input.

Parameters
inputmultidimensional histogram

Definition at line 138 of file JTransformableMultiFunction.hh.

139  {
140  this->transformer.reset(input.transformer->clone());
141 
143  }

◆ insert() [5/10]

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
template<unsigned int N, class __JAbscissa_t , class __JContents_t , template< class, class, class > class __JMap_t, class __JDistance_t >
void JTOOLS::JMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::insert ( unsigned int  N,
class __JAbscissa_t  ,
class __JContents_t  ,
template< class, class, class > class  __JMap_t,
class __JDistance_t   
)
inlineinherited

Insert multidimensional histogram at multidimensional key.

Parameters
keymultidimensional key
inputmultidimensional histogram

Definition at line 202 of file JMultiFunction.hh.

204  {
205  if (input.size() > 1) {
206 
207  for (typename JHistogramMap<__JAbscissa_t, __JContents_t, __JMap_t, __JDistance_t>::const_iterator j = input.begin(), i = j++; j != input.end(); ++i, ++j) {
208 
209  const argument_type x = 0.5 * (i->getX() + j->getX());
210 
211  insert(JMultiKey<N+1, argument_type>(key, x), i->getY());
212  }
213  }
214  }

◆ insert() [6/10]

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
template<class __JValue_t >
void JTOOLS::JMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::insert ( class __JValue_t  )
inlineinherited

Convert one-dimensional histogram to PDF and insert result at given multidimensional key.

Parameters
keymultidimensional key
inputhistogram

Definition at line 224 of file JMultiFunction.hh.

226  {
227  JFunction_t buffer;
228 
229  makePDF(input, buffer);
230 
231  multimap_type::insert(key, buffer);
232  }

◆ insert() [7/10]

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
template<class JPDF_t , class JPDFMaplist_t , class JPDFDistance_t >
void JTOOLS::JMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::insert ( const JMultiFunction< JPDF_t, JPDFMaplist_t, JPDFDistance_t > &  input)
inlineinherited

Insert multidimensional input.

Parameters
inputmultidimensional function

Definition at line 122 of file JMultiFunction.hh.

123  {
124  copy(input, *this);
125  }

◆ insert() [8/10]

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
template<class JHistogram_t , class JHistogramMaplist_t , class JHistogramDistance_t >
void JTOOLS::JMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::insert ( const JMultiHistogram< JHistogram_t, JHistogramMaplist_t, JHistogramDistance_t > &  input)
inlineinherited

Insert multidimensional input.

Parameters
inputmultidimensional histogram

Definition at line 134 of file JMultiFunction.hh.

135  {
136  this->insert(JMultiKey<0, argument_type>(), input);
137  }

◆ insert() [9/10]

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
template<unsigned int N, class __JAbscissa_t , class __JContents_t , template< class, class, class > class __JMap_t, class __JDistance_t >
void JTOOLS::JMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::insert ( const JMultiKey< N, argument_type > &  key,
const JHistogramMap< __JAbscissa_t, __JContents_t, __JMap_t, __JDistance_t > &  input 
)
inlineprotectedinherited

Insert multidimensional histogram at multidimensional key.

Parameters
keymultidimensional key
inputmultidimensional histogram

Definition at line 202 of file JMultiFunction.hh.

204  {
205  if (input.size() > 1) {
206 
207  for (typename JHistogramMap<__JAbscissa_t, __JContents_t, __JMap_t, __JDistance_t>::const_iterator j = input.begin(), i = j++; j != input.end(); ++i, ++j) {
208 
209  const argument_type x = 0.5 * (i->getX() + j->getX());
210 
211  insert(JMultiKey<N+1, argument_type>(key, x), i->getY());
212  }
213  }
214  }

◆ insert() [10/10]

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
template<class __JValue_t >
void JTOOLS::JMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::insert ( const JMultiKey< JMapLength< JMaplist_t >::value, argument_type > &  key,
const __JValue_t &  input 
)
inlineprotectedinherited

Convert one-dimensional histogram to PDF and insert result at given multidimensional key.

Parameters
keymultidimensional key
inputhistogram

Definition at line 224 of file JMultiFunction.hh.

226  {
227  JFunction_t buffer;
228 
229  makePDF(input, buffer);
230 
231  multimap_type::insert(key, buffer);
232  }

◆ add()

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
template<class JMultiFunction_t >
void JTOOLS::JTransformableMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::add ( const JMultiFunction_t &  input)
inlineinherited

Add function.

Note that the summation is made via iteration of the elements in this multidimensional function.

Parameters
inputmultidimensional function

Definition at line 154 of file JTransformableMultiFunction.hh.

155  {
156  for (super_iterator i = this->super_begin(); i != this->super_end(); ++i) {
157 
158  const array_type array = (*i).getKey();
159  function_type& f1 = (*i).getValue();
160 
161  if (!f1.empty()) {
162 
164  const JMultiMapPutTransformer<NUMBER_OF_DIMENSIONS - 1, value_type> put(*(this->transformer), array);
165 
166  f1.transform(get);
167 
168  for (typename function_type::iterator j = f1.begin(); j != f1.end(); ++j) {
169 
171 
172  j->getY() += get_value(input.evaluate(buffer.data()));
173  }
174 
175  f1.transform(put);
176  f1.compile();
177  }
178  }
179  }

◆ operator()()

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
result_type JTOOLS::JTransformableMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::operator() ( const argument_type  x,
  ... 
) const
inlineinherited

Multidimensional interpolation method call.

Parameters
xcomma seperated list of abscissa values
Returns
function value

Definition at line 188 of file JTransformableMultiFunction.hh.

189  {
190  va_start(this->ap, x);
191 
192  this->buffer[0] = x;
193 
194  for (int i = 1; i != NUMBER_OF_DIMENSIONS; ++i) {
195  this->buffer[i] = va_arg(this->ap, argument_type);
196  }
197 
198  va_end(this->ap);
199 
200  return this->evaluate(this->buffer.data());
201  }

◆ evaluate()

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
virtual result_type JTOOLS::JTransformableMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::evaluate ( const argument_type pX) const
inlinevirtualinherited

Recursive function value evaluation.

Parameters
pXpointer to abscissa values
Returns
function value

Definition at line 210 of file JTransformableMultiFunction.hh.

211  {
212  for (int i = 0; i != NUMBER_OF_DIMENSIONS; ++i) {
213  this->buffer[i] = pX[i];
214  }
215 
216  this->buffer[NUMBER_OF_DIMENSIONS - 1] = transformer->putXn(this->buffer, this->buffer[NUMBER_OF_DIMENSIONS - 1]);
217 
218  const result_type y = multifunction_type::evaluate(this->buffer.data());
219  const double W = transformer->getWeight(this->buffer);
220 
222  }

◆ transform() [1/2]

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
virtual void JTOOLS::JTransformableMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::transform ( const transformer_type transformer)
inlinevirtualinherited

Application of weight function and coordinate transformation.

Parameters
transformerfunction transformer

Definition at line 230 of file JTransformableMultiFunction.hh.

231  {
232  for (super_iterator i = this->super_begin(); i != this->super_end(); ++i) {
233 
234  const array_type array = (*i).getKey();
235  function_type& function = (*i).getValue();
236 
239 
240  function.transform(get);
241  function.transform(put);
242  }
243 
244  this->transformer.reset(transformer.clone());
245  this->compile();
246  }

◆ transform() [2/2]

virtual void JTOOLS::JTransformable< N, JFunction_t::argument_type >::transform ( const transformer_type transformer)
pure virtualinherited

Application of transformation.

Parameters
transformerfunction transformer

◆ getMultiFunction() [1/2]

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
const JMultiFunction& JTOOLS::JMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::getMultiFunction ( ) const
inlineinherited

Get multidimensional function.

Returns
this multidimensional function

Definition at line 99 of file JMultiFunction.hh.

100  {
101  return static_cast<const JMultiFunction&>(*this);
102  }

◆ getMultiFunction() [2/2]

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
JMultiFunction& JTOOLS::JMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::getMultiFunction ( )
inlineinherited

Get multidimensional function.

Returns
this multidimensional function

Definition at line 110 of file JMultiFunction.hh.

111  {
112  return static_cast<JMultiFunction&>(*this);
113  }

◆ compile()

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
void JTOOLS::JMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::compile ( )
inlineinherited

Compilation.

Definition at line 143 of file JMultiFunction.hh.

144  {
145  this->for_each(compiler);
146 
147  for (super_iterator i = this->super_begin(); i != this->super_end(); ++i) {
148  (*i).getValue().compile();
149  }
150  }

◆ setExceptionHandler()

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
void JTOOLS::JMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::setExceptionHandler ( const supervisor_type supervisor)
inlineinherited

Set the supervisor for handling of exceptions.

Parameters
supervisorsupervisor

Definition at line 158 of file JMultiFunction.hh.

159  {
160  this->for_each(supervisor);
161 
162  for (super_iterator i = this->super_begin(); i != this->super_end(); ++i) {
163  (*i).getValue().setExceptionHandler(supervisor);
164  }
165  }

◆ load()

template<class T>
void JIO::JObjectBinaryIO< T >::load ( const char *  file_name)
inlineinherited

Load from input file.

Parameters
file_namefile name

Definition at line 29 of file JObjectBinaryIO.hh.

30  {
31  JLANG::load<JFileStreamReader>(file_name, static_cast<T&>(*this));
32  }

◆ store()

template<class T>
void JIO::JObjectBinaryIO< T >::store ( const char *  file_name) const
inlineinherited

Store to output file.

Parameters
file_namefile name

Definition at line 40 of file JObjectBinaryIO.hh.

41  {
42  JLANG::store<JFileStreamWriter>(file_name, static_cast<const T&>(*this));
43  }

Member Data Documentation

◆ transformer

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
JLANG::JSharedPointer<transformer_type> JTOOLS::JTransformableMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::transformer
inherited

Definition at line 279 of file JTransformableMultiFunction.hh.

◆ ap

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
va_list JTOOLS::JMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::ap
mutableprotectedinherited

Definition at line 235 of file JMultiFunction.hh.

◆ buffer

template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
JArray<NUMBER_OF_DIMENSIONS, argument_type> JTOOLS::JMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::buffer
mutableprotectedinherited

Definition at line 236 of file JMultiFunction.hh.


The documentation for this class was generated from the following file:
JTOOLS::JMultiMapGetTransformer
Auxiliary class to convert JMultiMapTransformer to JCollectionElementTransformer.
Definition: JMultiMapTransformer.hh:291
JTOOLS::JRange::getLowerLimit
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:215
JTOOLS::compiler
static const JCompiler compiler
Function object for functional object compilation.
Definition: JFunctional.hh:369
JPHYSICS::JPDFTable::transformablemultifunction_t
JTransformableMultiFunction< JFunction1D_t, JMaplist_t, JDistance_t > transformablemultifunction_t
Definition: JPDFTable.hh:46
JTOOLS::JRange::getUpperLimit
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:226
JTOOLS::pX
pX
Definition: JPolint.hh:625
JTOOLS::w
data_type w[N+1][M+1]
Definition: JPolint.hh:708
JTOOLS::JGaussHermite
Numerical integrator for W(x) = e^-(x^2).
Definition: JQuadrature.hh:253
JPHYSICS::JPDFTable::Gauss
static double Gauss(const double x, const double sigma)
Normalised Gauss function.
Definition: JPDFTable.hh:281
JTOOLS::JTransformableMultiFunction::NUMBER_OF_DIMENSIONS
Definition: JTransformableMultiFunction.hh:48
numberOfPoints
int numberOfPoints
Definition: JResultPDF.cc:22
JPHYSICS::JPDFTable::function_type
transformablemultifunction_t::function_type function_type
Definition: JPDFTable.hh:59
JTOOLS::u
double u[N+1]
Definition: JPolint.hh:706
JTOOLS::JMultiFunction::ap
va_list ap
Definition: JMultiFunction.hh:235
JTOOLS::JArray< NUMBER_OF_DIMENSIONS, argument_type >
JTOOLS::JHistogramMap::const_iterator
collection_type::const_iterator const_iterator
Definition: JHistogramMap.hh:41
JTOOLS::j
int j
Definition: JPolint.hh:634
JTOOLS::JMapLength
Length of map list.
Definition: JMapList.hh:45
JPHYSICS::JPDFTable::super_iterator
transformablemultifunction_t::super_iterator super_iterator
Definition: JPDFTable.hh:58
JTOOLS::JArray::data
const_pointer data() const
Get pointer to data.
Definition: JArray.hh:263
JTOOLS::JMultiMapTransformer::getClone
static JMultiMapTransformer * getClone()
Get clone of default transformer.
Definition: JMultiMapTransformer.hh:124
JPHYSICS::JPDFTransformer
Template definition of transformer of the Probability Density Functions of the time response of a PMT...
Definition: JPDFTransformer.hh:33
JPHYSICS::JPDFTable::gauss
static double gauss(const double x, const double sigma)
Gauss function (normalised to 1 at x = 0).
Definition: JPDFTable.hh:263
JTOOLS::get_value
JResultEvaluator< JResult_t >::result_type get_value(const JResult_t &value)
Helper method to recursively evaluate a to function value.
Definition: JResult.hh:936
JTOOLS::JSet::getXmin
virtual abscissa_type getXmin() const
Get minimal abscissa value.
Definition: JSet.hh:103
JTOOLS::JTransformableMultiFunction::array_type
transformer_type::array_type array_type
Definition: JTransformableMultiFunction.hh:69
JTOOLS::JMultiFunction::super_iterator
multimap_type::super_iterator super_iterator
Definition: JMultiFunction.hh:67
JTOOLS::for_each
JObject_t & for_each(JObject_t &object, JType< JTypeList< JHead_t, JTail_t > > typelist, const JTuple< T > &tuple)
For each data type method.
Definition: JTuple.hh:857
JTOOLS::JTransformableMultiFunction::super_iterator
multifunction_type::super_iterator super_iterator
Definition: JTransformableMultiFunction.hh:65
JTOOLS::JMultiFunction::buffer
JArray< NUMBER_OF_DIMENSIONS, argument_type > buffer
Definition: JMultiFunction.hh:236
JTOOLS::JTransformableMultiFunction::value_type
multifunction_type::value_type value_type
Definition: JTransformableMultiFunction.hh:52
JTOOLS::makePDF
void makePDF(const JHistogram1D< JElement_t, JContainer_t, JDistance_t > &input, typename JMappable< JElement_t >::map_type &output)
Conversion of histogram to probability density function (PDF).
Definition: JHistogram1D.hh:545
JTOOLS::JMultiMapPutTransformer
Auxiliary class to convert JMultiMapTransformer to JCollectionElementTransformer.
Definition: JMultiMapTransformer.hh:240
JTOOLS::JMultiMapTransformer::array_type
JArray< N, argument_type > array_type
Definition: JMultiMapTransformer.hh:45
JPHYSICS::JPDFTable::NUMBER_OF_DIMENSIONS
Definition: JPDFTable.hh:55
JTOOLS::JMultiFunction::argument_type
JFunction_t::argument_type argument_type
Definition: JMultiFunction.hh:55
JTOOLS::JResultTransformer::transform
static result_type transform(const JMultiMapTransformer< N, JArgument_t > &transformer, typename JMultiMapTransformer< N, JArgument_t >::const_array_type array, const result_type &result)
Definition: JResultTransformer.hh:26
JTOOLS::JMultiFunction::NUMBER_OF_DIMENSIONS
Definition: JMultiFunction.hh:50
JTOOLS::JTransformableMultiFunction::transformer
JLANG::JSharedPointer< transformer_type > transformer
Definition: JTransformableMultiFunction.hh:279
JTOOLS::v
data_type v[N+1][M+1]
Definition: JPolint.hh:707
JTOOLS::JSet::getXmax
virtual abscissa_type getXmax() const
Get maximal abscissa value.
Definition: JSet.hh:114
JPHYSICS::JPDFTable::value_type
transformablemultifunction_t::value_type value_type
Definition: JPDFTable.hh:50
JTOOLS::JSet
Simple data structure for an abstract collection of non-equidistant abscissa values.
Definition: JSet.hh:29
JTOOLS::JMultiFunction::compile
void compile()
Compilation.
Definition: JMultiFunction.hh:143
std
Definition: jaanetDictionary.h:36
JTOOLS::JMultiKey
Forward declaration of template JMultiKey class.
Definition: JMultiKey.hh:29
JTOOLS::PI
static const double PI
Constants.
Definition: JConstants.hh:20
JTOOLS::copy
void copy(const T &input, T &output)
Copy of input to output.
Definition: JToolsToolkit.hh:250
JTOOLS::JTransformableMultiFunction::evaluate
virtual result_type evaluate(const argument_type *pX) const
Recursive function value evaluation.
Definition: JTransformableMultiFunction.hh:210
JTOOLS::JMultiFunction::insert
void insert(const JMultiFunction< JPDF_t, JPDFMaplist_t, JPDFDistance_t > &input)
Insert multidimensional input.
Definition: JMultiFunction.hh:122
JTOOLS::JTransformableMultiHistogram::transformer
JLANG::JSharedPointer< transformer_type > transformer
Definition: JTransformableMultiHistogram.hh:183
JTOOLS::JQuantiles
Quantile calculator for a given function.
Definition: JQuantiles.hh:106
JTOOLS::JTransformableMultiFunction::result_type
multifunction_type::result_type result_type
Definition: JTransformableMultiFunction.hh:58
JPHYSICS::JPDFTable::argument_type
transformablemultifunction_t::argument_type argument_type
Definition: JPDFTable.hh:48
JAANET::get
T get(const JHead &header)
Get object from header.
Definition: JHeadToolkit.hh:295
JTOOLS
Auxiliary classes and methods for multi-dimensional interpolations and histograms.
Definition: JAbstractCollection.hh:9
JTOOLS::JTransformableMultiFunction::insert
void insert(const JTransformableMultiFunction< JPDF_t, JPDFMaplist_t, JPDFDistance_t > &input)
Insert multidimensional input.
Definition: JTransformableMultiFunction.hh:124
JTOOLS::JTransformableMultiFunction::function_type
JFunction_t function_type
Definition: JTransformableMultiFunction.hh:50
JTOOLS::JTransformableMultiFunction::argument_type
multifunction_type::argument_type argument_type
Definition: JTransformableMultiFunction.hh:53