General purpose class for multi-dimensional probability density function (PDF).  
 More...
 | 
|   | JMultiPDF () | 
|   | Default constructor.  More...
  | 
|   | 
| template<class T >  | 
|   | JMultiPDF (const T &input) | 
|   | Constructor.  More...
  | 
|   | 
| template<class JHistogram_t , class JHistogramMaplist_t , class JHistogramDistance_t >  | 
| void  | insert (const JMultiHistogram< JHistogram_t, JHistogramMaplist_t, JHistogramDistance_t > &input) | 
|   | Insert multi-dimensional input.  More...
  | 
|   | 
| template<class JHistogram_t , class JHistogramMaplist_t , class JHistogramDistance_t >  | 
| void  | insert (const JTransformableMultiHistogram< JHistogram_t, JHistogramMaplist_t, JHistogramDistance_t > &input) | 
|   | Insert multi-dimensional input.  More...
  | 
|   | 
| const JTransformableMultiFunction &  | getTransformableMultiFunction () const  | 
|   | Get transformable multidimensional function.  More...
  | 
|   | 
| JTransformableMultiFunction &  | getTransformableMultiFunction () | 
|   | Get transformable multidimensional function.  More...
  | 
|   | 
| template<class __JFunction_t , class __JMaplist_t , class __JDistance_t >  | 
| void  | insert (const JTransformableMultiFunction< __JFunction_t, __JMaplist_t, __JDistance_t > &input) | 
|   | Insert multidimensional input.  More...
  | 
|   | 
| template<class JHistogram_t , class __JMaplist_t , class __JDistance_t >  | 
| void  | insert (const JTransformableMultiHistogram< JHistogram_t, __JMaplist_t, __JDistance_t > &input) | 
|   | Insert multidimensional input.  More...
  | 
|   | 
| template<class __JFunction_t , class __JMaplist_t , class __JDistance_t >  | 
| void  | insert (const JMultiFunction< __JFunction_t, __JMaplist_t, __JDistance_t > &input) | 
|   | Insert multidimensional input.  More...
  | 
|   | 
| template<class JHistogram_t , class __JMaplist_t , class __JDistance_t >  | 
| void  | insert (const JMultiHistogram< JHistogram_t, __JMaplist_t, __JDistance_t > &input) | 
|   | Insert multidimensional input.  More...
  | 
|   | 
| template<class JMultiFunction_t >  | 
| void  | add (const JMultiFunction_t &input) | 
|   | Add function.  More...
  | 
|   | 
| template<class... Args>  | 
| result_type  | operator() (const Args &...args) const  | 
|   | Multidimensional interpolation method call.  More...
  | 
|   | 
| virtual result_type  | evaluate (const argument_type *pX) const override | 
|   | Recursive function value evaluation.  More...
  | 
|   | 
| virtual void  | transform (const transformer_type &transformer) override | 
|   | Application of weight function and coordinate transformation.  More...
  | 
|   | 
| virtual void  | transform (const transformer_type &transformer)=0 | 
|   | Application of transformation.  More...
  | 
|   | 
| const JMultiFunction &  | getMultiFunction () const  | 
|   | Get multidimensional function.  More...
  | 
|   | 
| JMultiFunction &  | getMultiFunction () | 
|   | Get multidimensional function.  More...
  | 
|   | 
| void  | compile () | 
|   | Compilation.  More...
  | 
|   | 
| void  | setExceptionHandler (const typename function_type::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...
  | 
|   | 
 | 
| 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, const double weight) | 
|   | Recursive method to insert multi-dimensional histogram at multi-dimensional key.  More...
  | 
|   | 
| template<class __JElement_t , template< class, class > class __JContainer_t, class __JDistance_t >  | 
| void  | insert (const JMultiKey< JMapLength< JMaplist_t >::value, argument_type > &key, const JHistogram1D< __JElement_t, __JContainer_t, __JDistance_t > &input, const double weight) | 
|   | Termination method to insert multi-dimensional histogram at multi-dimensional key.  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 __JElement_t , template< class, class > class __JContainer_t, class __JDistance_t >  | 
| void  | insert (const JMultiKey< JMapLength< JMaplist_t >::value, argument_type > &key, const JHistogram1D< __JElement_t, __JContainer_t, __JDistance_t > &input) | 
|   | Convert one-dimensional histogram to PDF and insert result at given multidimensional key.  More...
  | 
|   | 
| template<class JHistogram_t , class __JMaplist_t , class __JDistance_t >  | 
| void  | insert (const JMultiKey< JMapLength< JMaplist_t >::value, argument_type > &key, const JMultiHistogram< JHistogram_t, __JMaplist_t, __JDistance_t > &input) | 
|   | Convert multidimensional histogram to PDF and insert result at given multidimensional key.  More...
  | 
|   | 
template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>>
class JTOOLS::JMultiPDF< JFunction_t, JMaplist_t, JDistance_t >
General purpose class for multi-dimensional probability density function (PDF). 
This class is a simple wrapper around the JTransformableMultiFunction class to properly convert a multi-dimensional histogram to a multi-dimensional PDF. In this, the histogram contents in each bin are divided by the summed weight of the multi-dimensional histogram and the width (c.q. area) of the multi-dimensional bin. 
Definition at line 34 of file JMultiPDF.hh.
 
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 > 
 
Recursive method to insert multi-dimensional histogram at multi-dimensional key. 
- Parameters
 - 
  
    | key | multi-dimensional key  | 
    | input | multi-dimensional histogram  | 
    | weight | weight  | 
  
   
Definition at line 129 of file JMultiPDF.hh.
  133       if (input.size() > 1) {
 
  138           const double        w = 
weight * input.getDistance(i->getX(), 
j->getX());
 
std::vector< double > weight
 
 
 
 
template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>> 
template<class __JElement_t , template< class, class > class __JContainer_t, class __JDistance_t > 
 
Termination method to insert multi-dimensional histogram at multi-dimensional key. 
Convert one-dimensional histogram to PDF, normalise PDF with given weight and insert result at given multi-dimensional key.
- Parameters
 - 
  
    | key | multi-dimensional key  | 
    | input | histogram  | 
    | weight | weight  | 
  
   
Definition at line 158 of file JMultiPDF.hh.
std::vector< double > weight
 
 
 
 
template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>> 
template<class __JFunction_t , class __JMaplist_t , class __JDistance_t > 
 
Insert multidimensional input. 
- Parameters
 - 
  
    | input | multidimensional function  | 
  
   
Definition at line 121 of file JMultiFunction.hh.
 
 
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 > 
 
Insert multidimensional histogram at multidimensional key. 
- Parameters
 - 
  
    | key | multidimensional key  | 
    | input | multidimensional histogram  | 
  
   
Definition at line 196 of file JMultiFunction.hh.
  199       if (input.size() > 1) {
 
  201         for (
auto j = input.begin(), i = 
j++; 
j != input.end(); ++i, ++
j) {
 
 
 
 
template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>> 
template<class __JElement_t , template< class, class > class __JContainer_t, class __JDistance_t > 
 
Convert one-dimensional histogram to PDF and insert result at given multidimensional key. 
- Parameters
 - 
  
    | key | multidimensional key  | 
    | input | histogram  | 
  
   
Definition at line 218 of file JMultiFunction.hh.
  226       multimap_type::insert(key, buffer);
 
 
 
 
template<class JFunction_t, class JMaplist_t, class JDistance_t = JDistance<typename JFunction_t::argument_type>> 
template<class JHistogram_t , class __JMaplist_t , class __JDistance_t > 
 
Convert multidimensional histogram to PDF and insert result at given multidimensional key. 
- Parameters
 - 
  
    | key | multidimensional key  | 
    | input | multidimensional histogram  | 
  
   
Definition at line 237 of file JMultiFunction.hh.
  244       multimap_type::insert(key, buffer);