Jpp  18.2.1-ARCA-DF-PATCH
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
JPHYSICS::JNPETable< JArgument_t, JResult_t, JMaplist_t, JDistance_t > Class Template Reference

Custom class for integrated values of the PDF of the arrival time of Cherenkov light. More...

#include <JNPETable.hh>

Inheritance diagram for JPHYSICS::JNPETable< JArgument_t, JResult_t, JMaplist_t, JDistance_t >:
JTOOLS::JMultiFunction< JFunction_t, JMaplist_t, JDistance_t > JTOOLS::JMultiMap< JFunction_t::argument_type, JFunction_t, JMaplist_t, JDistance_t >

Public Types

typedef JMultiFunction
< JConstantFunction1D
< JArgument_t, JResult_t >
, JMaplist_t, JDistance_t > 
multifunction_t
 
typedef JConstantFunction1D
< JArgument_t, JResult_t > 
function_type
 
typedef multifunction_t::map_type map_type
 
typedef multifunction_t::value_type value_type
 
typedef
multifunction_t::argument_type 
argument_type
 
typedef
multifunction_t::supervisor_type 
supervisor_type
 
typedef
multifunction_t::abscissa_type 
abscissa_type
 
typedef
multifunction_t::ordinate_type 
ordinate_type
 
typedef
multifunction_t::result_type 
result_type
 
typedef
multifunction_t::const_iterator 
const_iterator
 
typedef
multifunction_t::const_reverse_iterator 
const_reverse_iterator
 
typedef multifunction_t::iterator iterator
 
typedef
multifunction_t::reverse_iterator 
reverse_iterator
 
typedef
multifunction_t::super_iterator 
super_iterator
 
typedef
multifunction_t::super_const_iterator 
super_const_iterator
 
typedef JMultiMapTransformer
< NUMBER_OF_DIMENSIONS,
argument_type
transformer_type
 
enum  { NUMBER_OF_DIMENSIONS = JMapLength<JMaplist_t>::value + JFunction_t::NUMBER_OF_DIMENSIONS }
 
typedef JMultiMap< typename
JFunction_t::argument_type,
JFunction_t, JMaplist_t,
JDistance_t > 
multimap_type
 

Public Member Functions

 JNPETable ()
 Default constructor. More...
 
template<class JPDF_t , class JPDFMaplist_t , class JPDFDistance_t >
 JNPETable (const JTransformableMultiFunction< JPDF_t, JPDFMaplist_t, JPDFDistance_t > &input)
 Constructor. More...
 
void add (const JNPETable &input)
 Add NPE table. More...
 
template<class... Args>
result_type operator() (const Args &...args) const
 Get number of photo-electrons. More...
 
virtual result_type evaluate (const argument_type *pX) const override
 Recursive function value evaluation. More...
 
void transform (const transformer_type &transformer)
 Application of weight function. More...
 
const JMultiFunctiongetMultiFunction () const
 Get multidimensional function. More...
 
JMultiFunctiongetMultiFunction ()
 Get multidimensional function. 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...
 
void compile ()
 Compilation. More...
 
void setExceptionHandler (const typename function_type::supervisor_type &supervisor)
 Set the supervisor for handling of exceptions. More...
 

Public Attributes

JLANG::JSharedPointer
< transformer_type
transformer
 

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 __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...
 

Protected Attributes

JTOOLS::JArray
< NUMBER_OF_DIMENSIONS,
argument_type
buffer
 

Detailed Description

template<class JArgument_t, class JResult_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<JArgument_t>>
class JPHYSICS::JNPETable< JArgument_t, JResult_t, JMaplist_t, JDistance_t >

Custom class for integrated values of the PDF of the arrival time of Cherenkov light.

This class provides for the number of photo-electrons as a function of the leading (n - 1) parameter values.

Definition at line 39 of file JNPETable.hh.

Member Typedef Documentation

template<class JArgument_t, class JResult_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<JArgument_t>>
typedef JMultiFunction<JConstantFunction1D<JArgument_t, JResult_t>, JMaplist_t, JDistance_t> JPHYSICS::JNPETable< JArgument_t, JResult_t, JMaplist_t, JDistance_t >::multifunction_t

Definition at line 48 of file JNPETable.hh.

template<class JArgument_t, class JResult_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<JArgument_t>>
typedef JConstantFunction1D<JArgument_t, JResult_t> JPHYSICS::JNPETable< JArgument_t, JResult_t, JMaplist_t, JDistance_t >::function_type

Definition at line 52 of file JNPETable.hh.

template<class JArgument_t, class JResult_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<JArgument_t>>
typedef multifunction_t::map_type JPHYSICS::JNPETable< JArgument_t, JResult_t, JMaplist_t, JDistance_t >::map_type

Definition at line 53 of file JNPETable.hh.

template<class JArgument_t, class JResult_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<JArgument_t>>
typedef multifunction_t::value_type JPHYSICS::JNPETable< JArgument_t, JResult_t, JMaplist_t, JDistance_t >::value_type

Definition at line 55 of file JNPETable.hh.

template<class JArgument_t, class JResult_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<JArgument_t>>
typedef multifunction_t::argument_type JPHYSICS::JNPETable< JArgument_t, JResult_t, JMaplist_t, JDistance_t >::argument_type

Definition at line 56 of file JNPETable.hh.

template<class JArgument_t, class JResult_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<JArgument_t>>
typedef multifunction_t::supervisor_type JPHYSICS::JNPETable< JArgument_t, JResult_t, JMaplist_t, JDistance_t >::supervisor_type

Definition at line 57 of file JNPETable.hh.

template<class JArgument_t, class JResult_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<JArgument_t>>
typedef multifunction_t::abscissa_type JPHYSICS::JNPETable< JArgument_t, JResult_t, JMaplist_t, JDistance_t >::abscissa_type

Definition at line 59 of file JNPETable.hh.

template<class JArgument_t, class JResult_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<JArgument_t>>
typedef multifunction_t::ordinate_type JPHYSICS::JNPETable< JArgument_t, JResult_t, JMaplist_t, JDistance_t >::ordinate_type

Definition at line 60 of file JNPETable.hh.

template<class JArgument_t, class JResult_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<JArgument_t>>
typedef multifunction_t::result_type JPHYSICS::JNPETable< JArgument_t, JResult_t, JMaplist_t, JDistance_t >::result_type

Definition at line 61 of file JNPETable.hh.

template<class JArgument_t, class JResult_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<JArgument_t>>
typedef multifunction_t::const_iterator JPHYSICS::JNPETable< JArgument_t, JResult_t, JMaplist_t, JDistance_t >::const_iterator

Definition at line 63 of file JNPETable.hh.

template<class JArgument_t, class JResult_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<JArgument_t>>
typedef multifunction_t::const_reverse_iterator JPHYSICS::JNPETable< JArgument_t, JResult_t, JMaplist_t, JDistance_t >::const_reverse_iterator

Definition at line 64 of file JNPETable.hh.

template<class JArgument_t, class JResult_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<JArgument_t>>
typedef multifunction_t::iterator JPHYSICS::JNPETable< JArgument_t, JResult_t, JMaplist_t, JDistance_t >::iterator

Definition at line 65 of file JNPETable.hh.

template<class JArgument_t, class JResult_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<JArgument_t>>
typedef multifunction_t::reverse_iterator JPHYSICS::JNPETable< JArgument_t, JResult_t, JMaplist_t, JDistance_t >::reverse_iterator

Definition at line 66 of file JNPETable.hh.

template<class JArgument_t, class JResult_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<JArgument_t>>
typedef multifunction_t::super_iterator JPHYSICS::JNPETable< JArgument_t, JResult_t, JMaplist_t, JDistance_t >::super_iterator

Definition at line 68 of file JNPETable.hh.

template<class JArgument_t, class JResult_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<JArgument_t>>
typedef multifunction_t::super_const_iterator JPHYSICS::JNPETable< JArgument_t, JResult_t, JMaplist_t, JDistance_t >::super_const_iterator

Definition at line 69 of file JNPETable.hh.

template<class JArgument_t, class JResult_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<JArgument_t>>
typedef JMultiMapTransformer<NUMBER_OF_DIMENSIONS, argument_type> JPHYSICS::JNPETable< JArgument_t, JResult_t, JMaplist_t, JDistance_t >::transformer_type

Definition at line 71 of file JNPETable.hh.

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

Definition at line 47 of file JMultiFunction.hh.

Member Enumeration Documentation

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 49 of file JMultiFunction.hh.

Constructor & Destructor Documentation

template<class JArgument_t, class JResult_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<JArgument_t>>
JPHYSICS::JNPETable< JArgument_t, JResult_t, JMaplist_t, JDistance_t >::JNPETable ( )
inline

Default constructor.

Definition at line 77 of file JNPETable.hh.

77  :
79  {}
static JMultiMapTransformer * getClone()
Get clone of default transformer.
JLANG::JSharedPointer< transformer_type > transformer
Definition: JNPETable.hh:209
template<class JArgument_t, class JResult_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<JArgument_t>>
template<class JPDF_t , class JPDFMaplist_t , class JPDFDistance_t >
JPHYSICS::JNPETable< JArgument_t, JResult_t, JMaplist_t, JDistance_t >::JNPETable ( const JTransformableMultiFunction< JPDF_t, JPDFMaplist_t, JPDFDistance_t > &  input)
inline

Constructor.

Parameters
inputmulti-dimensional PDF

Definition at line 88 of file JNPETable.hh.

88  :
90  {
91  using namespace JTOOLS;
92 
93  typedef JTransformableMultiFunction<JPDF_t, JPDFMaplist_t, JPDFDistance_t> JTransformableMultiFunction_t;
94  typedef JMultiKey<JTransformableMultiFunction_t::NUMBER_OF_DIMENSIONS - 1, argument_type> JMultiKey_t;
95  typedef typename JTransformableMultiFunction_t::transformer_type transformer_type;
96 
97 
98  this->transformer.reset(input.transformer->clone());
99 
100  for (typename JTransformableMultiFunction_t::super_const_iterator i = input.super_begin(); i != input.super_end(); ++i) {
101 
102  const JMultiKey_t& key = (*i).getKey();
103  const JPDF_t& value = (*i).getValue();
104 
105  const typename transformer_type::array_type array(key);
106 
107  const double V = getIntegral(value);
108  const argument_type z = input.transformer->getXn(array, 1.0) - input.transformer->getXn(array, 0.0);
109 
110  this->insert(key, function_type(z*V));
111  }
112 
113  this->compile();
114  }
void compile()
Compilation.
multifunction_t::argument_type argument_type
Definition: JNPETable.hh:56
Transformable multidimensional function.
V(JDAQEvent-JTriggerReprocessor)*1.0/(JDAQEvent+1.0e-10)
Multidimensional key.
Definition: JMultiKey.hh:34
JArray< N, argument_type > array_type
JConstantFunction1D< JArgument_t, JResult_t > function_type
Definition: JNPETable.hh:52
JMultiMapTransformer< NUMBER_OF_DIMENSIONS, argument_type > transformer_type
Definition: JNPETable.hh:71
void insert(const JMultiFunction< __JFunction_t, __JMaplist_t, __JDistance_t > &input)
Insert multidimensional input.
static JMultiMapTransformer * getClone()
Get clone of default transformer.
JLANG::JSharedPointer< transformer_type > transformer
Definition: JNPETable.hh:209
JLANG::JSharedPointer< transformer_type > transformer
JContainer_t::ordinate_type getIntegral(const JContainer_t &input)
Get integral of input data points.

Member Function Documentation

template<class JArgument_t, class JResult_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<JArgument_t>>
void JPHYSICS::JNPETable< JArgument_t, JResult_t, JMaplist_t, JDistance_t >::add ( const JNPETable< JArgument_t, JResult_t, JMaplist_t, JDistance_t > &  input)
inline

Add NPE table.

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

Parameters
inputNPE table

Definition at line 124 of file JNPETable.hh.

125  {
126  using namespace JTOOLS;
127 
128  for (super_iterator i = this->super_begin(); i != this->super_end(); ++i) {
129 
130  map_type& f1 = (*i).getValue();
131 
132  for (typename map_type::iterator j = f1.begin(); j != f1.end(); ++j) {
133 
134  try {
135 
136  const JArray<NUMBER_OF_DIMENSIONS, argument_type> buffer((*i).getKey(), j->getX());
137 
138  const double npe = get_value(input.evaluate(buffer.data()));
139  const double W = this->transformer->getWeight(buffer);
140 
141  j->getY() += npe/W;
142  }
143  catch(JLANG::JException& error) {}
144  }
145  }
146  }
General exception.
Definition: JException.hh:24
multifunction_t::super_iterator super_iterator
Definition: JNPETable.hh:68
const JPolynome f1(1.0, 2.0, 3.0)
Function.
multifunction_t::map_type map_type
Definition: JNPETable.hh:53
virtual result_type evaluate(const argument_type *pX) const override
Recursive function value evaluation.
Definition: JNPETable.hh:170
JTOOLS::JArray< NUMBER_OF_DIMENSIONS, argument_type > buffer
Definition: JNPETable.hh:212
JLANG::JSharedPointer< transformer_type > transformer
Definition: JNPETable.hh:209
int j
Definition: JPolint.hh:792
JResultEvaluator< JResult_t >::result_type get_value(const JResult_t &value)
Helper method to recursively evaluate a to function value.
Definition: JResult.hh:998
const_pointer data() const
Get pointer to data.
Definition: JArray.hh:284
double getValue(const double x) const
Function value.
Definition: JPolynome.hh:233
template<class JArgument_t, class JResult_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<JArgument_t>>
template<class... Args>
result_type JPHYSICS::JNPETable< JArgument_t, JResult_t, JMaplist_t, JDistance_t >::operator() ( const Args &...  args) const
inline

Get number of photo-electrons.

Parameters
argscomma separated argument list
Returns
number of photo-electrons

Definition at line 156 of file JNPETable.hh.

157  {
158  this->buffer.set(args...);
159 
160  return this->evaluate(this->buffer.data());
161  }
JArray & set(const Args &...args)
Set array.
Definition: JArray.hh:199
virtual result_type evaluate(const argument_type *pX) const override
Recursive function value evaluation.
Definition: JNPETable.hh:170
JTOOLS::JArray< NUMBER_OF_DIMENSIONS, argument_type > buffer
Definition: JNPETable.hh:212
const_pointer data() const
Get pointer to data.
Definition: JArray.hh:284
template<class JArgument_t, class JResult_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<JArgument_t>>
virtual result_type JPHYSICS::JNPETable< JArgument_t, JResult_t, JMaplist_t, JDistance_t >::evaluate ( const argument_type pX) const
inlineoverridevirtual

Recursive function value evaluation.

Parameters
pXpointer to abscissa values
Returns
function value

Definition at line 170 of file JNPETable.hh.

171  {
172  for (int i = 0; i != NUMBER_OF_DIMENSIONS; ++i) {
173  this->buffer[i] = pX[i];
174  }
175 
176  const double W = transformer->getWeight(buffer);
177  const result_type npe = multifunction_t::evaluate(buffer.data());
178 
179  return W * npe;
180  }
multifunction_t::result_type result_type
Definition: JNPETable.hh:61
JTOOLS::JArray< NUMBER_OF_DIMENSIONS, argument_type > buffer
Definition: JNPETable.hh:212
JLANG::JSharedPointer< transformer_type > transformer
Definition: JNPETable.hh:209
const_pointer data() const
Get pointer to data.
Definition: JArray.hh:284
template<class JArgument_t, class JResult_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<JArgument_t>>
void JPHYSICS::JNPETable< JArgument_t, JResult_t, JMaplist_t, JDistance_t >::transform ( const transformer_type transformer)
inline

Application of weight function.

Parameters
transformerfunction transformer

Definition at line 188 of file JNPETable.hh.

189  {
190  using namespace JTOOLS;
191 
192  for (super_iterator i = this->super_begin(); i != this->super_end(); ++i) {
193 
194  map_type& f1 = (*i).getValue();
195 
196  for (typename map_type::iterator j = f1.begin(); j != f1.end(); ++j) {
197 
198  const JArray<NUMBER_OF_DIMENSIONS, argument_type> array((*i).getKey(), j->getX());
199 
200  j->getY() *= this->transformer->getWeight(array) / transformer.getWeight(array);
201  }
202  }
203 
204  this->transformer.reset(transformer.clone());
205  this->compile();
206  }
void compile()
Compilation.
multifunction_t::super_iterator super_iterator
Definition: JNPETable.hh:68
const JPolynome f1(1.0, 2.0, 3.0)
Function.
multifunction_t::map_type map_type
Definition: JNPETable.hh:53
JLANG::JSharedPointer< transformer_type > transformer
Definition: JNPETable.hh:209
int j
Definition: JPolint.hh:792
double getValue(const double x) const
Function value.
Definition: JPolynome.hh:233
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 98 of file JMultiFunction.hh.

99  {
100  return static_cast<const JMultiFunction&>(*this);
101  }
Multidimensional interpolation method.
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 109 of file JMultiFunction.hh.

110  {
111  return static_cast<JMultiFunction&>(*this);
112  }
Multidimensional interpolation method.
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 >
void JTOOLS::JMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::insert ( const JMultiFunction< __JFunction_t, __JMaplist_t, __JDistance_t > &  input)
inlineinherited

Insert multidimensional input.

Parameters
inputmultidimensional function

Definition at line 121 of file JMultiFunction.hh.

122  {
123  copy(input, *this);
124  }
void copy(const T &input, T &output)
Copy of input to output.
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 >
void JTOOLS::JMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::insert ( const JMultiHistogram< JHistogram_t, __JMaplist_t, __JDistance_t > &  input)
inlineinherited

Insert multidimensional input.

Parameters
inputmultidimensional histogram

Definition at line 133 of file JMultiFunction.hh.

134  {
135  this->insert(JMultiKey<0, argument_type>(), input);
136  }
Multidimensional key.
Definition: JMultiKey.hh:34
void insert(const JMultiFunction< __JFunction_t, __JMaplist_t, __JDistance_t > &input)
Insert multidimensional input.
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 196 of file JMultiFunction.hh.

198  {
199  if (input.size() > 1) {
200 
201  for (auto j = input.begin(), i = j++; j != input.end(); ++i, ++j) {
202 
203  const argument_type x = 0.5 * (i->getX() + j->getX());
204 
205  insert(JMultiKey<N+1, argument_type>(key, x), i->getY());
206  }
207  }
208  }
function_type::argument_type argument_type
Multidimensional key.
Definition: JMultiKey.hh:34
void insert(const JMultiFunction< __JFunction_t, __JMaplist_t, __JDistance_t > &input)
Insert multidimensional input.
int j
Definition: JPolint.hh:792
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 >
void JTOOLS::JMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::insert ( const JMultiKey< JMapLength< JMaplist_t >::value, argument_type > &  key,
const JHistogram1D< __JElement_t, __JContainer_t, __JDistance_t > &  input 
)
inlineprotectedinherited

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

Parameters
keymultidimensional key
inputhistogram

Definition at line 218 of file JMultiFunction.hh.

221  {
222  JFunction_t buffer;
223 
224  makePDF(input, buffer);
225 
226  multimap_type::insert(key, buffer);
227  }
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).
JArray< NUMBER_OF_DIMENSIONS, argument_type > 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 >
void JTOOLS::JMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::insert ( const JMultiKey< JMapLength< JMaplist_t >::value, argument_type > &  key,
const JMultiHistogram< JHistogram_t, __JMaplist_t, __JDistance_t > &  input 
)
inlineprotectedinherited

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

Parameters
keymultidimensional key
inputmultidimensional histogram

Definition at line 237 of file JMultiFunction.hh.

239  {
240  JFunction_t buffer;
241 
242  makePDF(input, buffer);
243 
244  multimap_type::insert(key, buffer);
245  }
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).
JArray< NUMBER_OF_DIMENSIONS, argument_type > buffer
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 142 of file JMultiFunction.hh.

143  {
144  this->for_each(compiler);
145 
146  for (super_iterator i = this->super_begin(); i != this->super_end(); ++i) {
147  (*i).getValue().compile();
148  }
149  }
multimap_type::super_iterator super_iterator
static const JCompiler compiler
Function object for functional object compilation.
Definition: JFunctional.hh:384
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:666
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 typename function_type::supervisor_type &  supervisor)
inlineinherited

Set the supervisor for handling of exceptions.

Parameters
supervisorsupervisor

Definition at line 157 of file JMultiFunction.hh.

158  {
159  this->for_each(supervisor);
160 
161  for (super_iterator i = this->super_begin(); i != this->super_end(); ++i) {
162  (*i).getValue().setExceptionHandler(supervisor);
163  }
164  }
multimap_type::super_iterator super_iterator
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:666

Member Data Documentation

template<class JArgument_t, class JResult_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<JArgument_t>>
JLANG::JSharedPointer<transformer_type> JPHYSICS::JNPETable< JArgument_t, JResult_t, JMaplist_t, JDistance_t >::transformer

Definition at line 209 of file JNPETable.hh.

template<class JArgument_t, class JResult_t, class JMaplist_t, class JDistance_t = JTOOLS::JDistance<JArgument_t>>
JTOOLS::JArray<NUMBER_OF_DIMENSIONS, argument_type> JPHYSICS::JNPETable< JArgument_t, JResult_t, JMaplist_t, JDistance_t >::buffer
mutableprotected

Definition at line 212 of file JNPETable.hh.


The documentation for this class was generated from the following file: