Jpp  debug
the software that should make you happy
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
JOSCPROB::JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t > Class Template Referencefinal

Template definition of a multi-dimensional oscillation probability interpolation table. More...

#include <JOscProbInterpolator.hh>

Inheritance diagram for JOSCPROB::JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t >:
JTOOLS::JMultiFunction< JFunction_t, JMaplist_t, JDistance_t > JLANG::JClonable< JClonable_t, JDerived_t > JEEP::JMessage< T > JIO::JSerialisable JTOOLS::JMultiMap< JFunction_t::argument_type, JFunction_t, JMaplist_t, JDistance< typename JFunction_t::argument_type > >

Public Types

enum  { NUMBER_OF_DIMENSIONS = multifunction_type::NUMBER_OF_DIMENSIONS }
 
typedef JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t > interpolator_type
 
typedef JMultiFunction< JFunction1D_t, JFunctionalMaplist_t > multifunction_type
 
typedef multifunction_type::abscissa_type abscissa_type
 
typedef multifunction_type::argument_type argument_type
 
typedef multifunction_type::result_type result_type
 
typedef multifunction_type::value_type value_type
 
typedef multifunction_type::multimap_type multimap_type
 
typedef multifunction_type::super_const_iterator super_const_iterator
 
typedef multifunction_type::super_iterator super_iterator
 
typedef multifunction_type::function_type function_type
 
typedef JOscProbInterface::JOscParametersHelper_t JOscParametersHelper_t
 
typedef JOscProbInterface::JOscParameters_t JOscParameters_t
 
typedef JOscProbInterface::JOscParameterReferences_t JOscParameterReferences_t
 
typedef JOscProbInterface::JOscParameter_t JOscParameter_t
 
typedef JOscProbInterface::JParameter_t JParameter_t
 
enum  { NUMBER_OF_DIMENSIONS = JMapLength<JMaplist_t>::value + JFunction_t::NUMBER_OF_DIMENSIONS }
 
typedef multimap_type::ordinate_type ordinate_type
 
typedef multimap_type::const_iterator const_iterator
 
typedef multimap_type::const_reverse_iterator const_reverse_iterator
 
typedef multimap_type::iterator iterator
 
typedef multimap_type::reverse_iterator reverse_iterator
 
typedef JClonable< JClonable_t >::clone_type clone_type
 

Public Member Functions

 JOscProbInterpolator ()
 Default constructor. More...
 
 JOscProbInterpolator (const char *fileName)
 Constructor. More...
 
 JOscProbInterpolator (const char *fileName, const JOscParameters_t &parameters)
 Constructor. More...
 
 JOscProbInterpolator (const interpolator_type &interpolator)
 Copy constructor. More...
 
void load (const char *const fileName)
 Load oscillation probability table from file. More...
 
double getP (const JOscChannel &channel, const double E, const double costh) const override final
 Get oscillation probability for a given oscillation channel. More...
 
JReaderread (JReader &in) override final
 Read from input. More...
 
JWriterwrite (JWriter &out) const override final
 Write from input. 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...
 
template<class ... Args>
result_type operator() (const Args &...args) const
 Multi-dimensional interpolation method call. More...
 
virtual clone_type clone () const override
 Get clone of this object. More...
 

Static Public Attributes

static int debug = 0
 debug level (default is off). More...
 

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

JArray< NUMBER_OF_DIMENSIONS, argument_typebuffer
 

Detailed Description

template<template< class, class > class JCollection_t = JTOOLS::JCollection, class JFunction1D_t = JTOOLS::JPolintFunction1D <1, JTOOLS::JElement2D<double, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, JCollection_t, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, class JFunctionalMaplist_t = JTOOLS::JMAPLIST <JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint2FunctionalMap>::maplist>
class JOSCPROB::JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t >

Template definition of a multi-dimensional oscillation probability interpolation table.

Definition at line 60 of file JOscProbInterpolator.hh.

Member Typedef Documentation

◆ interpolator_type

template<template< class, class > class JCollection_t = JTOOLS::JCollection, class JFunction1D_t = JTOOLS::JPolintFunction1D <1, JTOOLS::JElement2D<double, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, JCollection_t, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, class JFunctionalMaplist_t = JTOOLS::JMAPLIST <JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint2FunctionalMap>::maplist>
typedef JOscProbInterpolator<JCollection_t, JFunction1D_t, JFunctionalMaplist_t> JOSCPROB::JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t >::interpolator_type

Definition at line 68 of file JOscProbInterpolator.hh.

◆ multifunction_type

template<template< class, class > class JCollection_t = JTOOLS::JCollection, class JFunction1D_t = JTOOLS::JPolintFunction1D <1, JTOOLS::JElement2D<double, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, JCollection_t, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, class JFunctionalMaplist_t = JTOOLS::JMAPLIST <JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint2FunctionalMap>::maplist>
typedef JMultiFunction<JFunction1D_t, JFunctionalMaplist_t> JOSCPROB::JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t >::multifunction_type

Definition at line 69 of file JOscProbInterpolator.hh.

◆ abscissa_type

template<template< class, class > class JCollection_t = JTOOLS::JCollection, class JFunction1D_t = JTOOLS::JPolintFunction1D <1, JTOOLS::JElement2D<double, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, JCollection_t, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, class JFunctionalMaplist_t = JTOOLS::JMAPLIST <JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint2FunctionalMap>::maplist>
typedef multifunction_type::abscissa_type JOSCPROB::JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t >::abscissa_type

Definition at line 73 of file JOscProbInterpolator.hh.

◆ argument_type

template<template< class, class > class JCollection_t = JTOOLS::JCollection, class JFunction1D_t = JTOOLS::JPolintFunction1D <1, JTOOLS::JElement2D<double, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, JCollection_t, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, class JFunctionalMaplist_t = JTOOLS::JMAPLIST <JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint2FunctionalMap>::maplist>
typedef multifunction_type::argument_type JOSCPROB::JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t >::argument_type

Definition at line 74 of file JOscProbInterpolator.hh.

◆ result_type

template<template< class, class > class JCollection_t = JTOOLS::JCollection, class JFunction1D_t = JTOOLS::JPolintFunction1D <1, JTOOLS::JElement2D<double, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, JCollection_t, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, class JFunctionalMaplist_t = JTOOLS::JMAPLIST <JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint2FunctionalMap>::maplist>
typedef multifunction_type::result_type JOSCPROB::JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t >::result_type

Definition at line 75 of file JOscProbInterpolator.hh.

◆ value_type

template<template< class, class > class JCollection_t = JTOOLS::JCollection, class JFunction1D_t = JTOOLS::JPolintFunction1D <1, JTOOLS::JElement2D<double, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, JCollection_t, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, class JFunctionalMaplist_t = JTOOLS::JMAPLIST <JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint2FunctionalMap>::maplist>
typedef multifunction_type::value_type JOSCPROB::JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t >::value_type

Definition at line 76 of file JOscProbInterpolator.hh.

◆ multimap_type

template<template< class, class > class JCollection_t = JTOOLS::JCollection, class JFunction1D_t = JTOOLS::JPolintFunction1D <1, JTOOLS::JElement2D<double, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, JCollection_t, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, class JFunctionalMaplist_t = JTOOLS::JMAPLIST <JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint2FunctionalMap>::maplist>
typedef multifunction_type::multimap_type JOSCPROB::JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t >::multimap_type

Definition at line 78 of file JOscProbInterpolator.hh.

◆ super_const_iterator

template<template< class, class > class JCollection_t = JTOOLS::JCollection, class JFunction1D_t = JTOOLS::JPolintFunction1D <1, JTOOLS::JElement2D<double, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, JCollection_t, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, class JFunctionalMaplist_t = JTOOLS::JMAPLIST <JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint2FunctionalMap>::maplist>
typedef multifunction_type::super_const_iterator JOSCPROB::JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t >::super_const_iterator

Definition at line 80 of file JOscProbInterpolator.hh.

◆ super_iterator

template<template< class, class > class JCollection_t = JTOOLS::JCollection, class JFunction1D_t = JTOOLS::JPolintFunction1D <1, JTOOLS::JElement2D<double, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, JCollection_t, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, class JFunctionalMaplist_t = JTOOLS::JMAPLIST <JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint2FunctionalMap>::maplist>
typedef multifunction_type::super_iterator JOSCPROB::JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t >::super_iterator

Definition at line 81 of file JOscProbInterpolator.hh.

◆ function_type

template<template< class, class > class JCollection_t = JTOOLS::JCollection, class JFunction1D_t = JTOOLS::JPolintFunction1D <1, JTOOLS::JElement2D<double, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, JCollection_t, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, class JFunctionalMaplist_t = JTOOLS::JMAPLIST <JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint2FunctionalMap>::maplist>
typedef multifunction_type::function_type JOSCPROB::JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t >::function_type

Definition at line 82 of file JOscProbInterpolator.hh.

◆ JOscParametersHelper_t

template<template< class, class > class JCollection_t = JTOOLS::JCollection, class JFunction1D_t = JTOOLS::JPolintFunction1D <1, JTOOLS::JElement2D<double, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, JCollection_t, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, class JFunctionalMaplist_t = JTOOLS::JMAPLIST <JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint2FunctionalMap>::maplist>
typedef JOscProbInterface::JOscParametersHelper_t JOSCPROB::JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t >::JOscParametersHelper_t

Definition at line 84 of file JOscProbInterpolator.hh.

◆ JOscParameters_t

template<template< class, class > class JCollection_t = JTOOLS::JCollection, class JFunction1D_t = JTOOLS::JPolintFunction1D <1, JTOOLS::JElement2D<double, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, JCollection_t, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, class JFunctionalMaplist_t = JTOOLS::JMAPLIST <JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint2FunctionalMap>::maplist>
typedef JOscProbInterface::JOscParameters_t JOSCPROB::JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t >::JOscParameters_t

Definition at line 85 of file JOscProbInterpolator.hh.

◆ JOscParameterReferences_t

template<template< class, class > class JCollection_t = JTOOLS::JCollection, class JFunction1D_t = JTOOLS::JPolintFunction1D <1, JTOOLS::JElement2D<double, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, JCollection_t, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, class JFunctionalMaplist_t = JTOOLS::JMAPLIST <JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint2FunctionalMap>::maplist>
typedef JOscProbInterface::JOscParameterReferences_t JOSCPROB::JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t >::JOscParameterReferences_t

Definition at line 86 of file JOscProbInterpolator.hh.

◆ JOscParameter_t

template<template< class, class > class JCollection_t = JTOOLS::JCollection, class JFunction1D_t = JTOOLS::JPolintFunction1D <1, JTOOLS::JElement2D<double, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, JCollection_t, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, class JFunctionalMaplist_t = JTOOLS::JMAPLIST <JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint2FunctionalMap>::maplist>
typedef JOscProbInterface::JOscParameter_t JOSCPROB::JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t >::JOscParameter_t

Definition at line 87 of file JOscProbInterpolator.hh.

◆ JParameter_t

template<template< class, class > class JCollection_t = JTOOLS::JCollection, class JFunction1D_t = JTOOLS::JPolintFunction1D <1, JTOOLS::JElement2D<double, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, JCollection_t, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, class JFunctionalMaplist_t = JTOOLS::JMAPLIST <JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint2FunctionalMap>::maplist>
typedef JOscProbInterface::JParameter_t JOSCPROB::JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t >::JParameter_t

Definition at line 88 of file JOscProbInterpolator.hh.

◆ ordinate_type

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

Definition at line 57 of file JMultiFunction.hh.

◆ const_iterator

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

Definition at line 60 of file JMultiFunction.hh.

◆ const_reverse_iterator

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

Definition at line 61 of file JMultiFunction.hh.

◆ iterator

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

Definition at line 62 of file JMultiFunction.hh.

◆ reverse_iterator

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

Definition at line 63 of file JMultiFunction.hh.

◆ clone_type

template<class JClonable_t , class JDerived_t >
typedef JClonable<JClonable_t>::clone_type JLANG::JClonable< JClonable_t, JDerived_t >::clone_type
inherited

Definition at line 61 of file JClonable.hh.

Member Enumeration Documentation

◆ anonymous enum

template<template< class, class > class JCollection_t = JTOOLS::JCollection, class JFunction1D_t = JTOOLS::JPolintFunction1D <1, JTOOLS::JElement2D<double, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, JCollection_t, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, class JFunctionalMaplist_t = JTOOLS::JMAPLIST <JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint2FunctionalMap>::maplist>
anonymous enum

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

49 { NUMBER_OF_DIMENSIONS = JMapLength<JMaplist_t>::value + JFunction_t::NUMBER_OF_DIMENSIONS };
Length of map list.
Definition: JMapList.hh:45

Constructor & Destructor Documentation

◆ JOscProbInterpolator() [1/4]

template<template< class, class > class JCollection_t = JTOOLS::JCollection, class JFunction1D_t = JTOOLS::JPolintFunction1D <1, JTOOLS::JElement2D<double, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, JCollection_t, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, class JFunctionalMaplist_t = JTOOLS::JMAPLIST <JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint2FunctionalMap>::maplist>
JOSCPROB::JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t >::JOscProbInterpolator ( )
inline

Default constructor.

Definition at line 94 of file JOscProbInterpolator.hh.

95  {
97 
99  }
Data structure for single set of oscillation parameters.
JArray< NUMBER_OF_DIMENSIONS, argument_type > buffer
void configure(const pointer_type &p)
Configure oscillation parameters.

◆ JOscProbInterpolator() [2/4]

template<template< class, class > class JCollection_t = JTOOLS::JCollection, class JFunction1D_t = JTOOLS::JPolintFunction1D <1, JTOOLS::JElement2D<double, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, JCollection_t, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, class JFunctionalMaplist_t = JTOOLS::JMAPLIST <JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint2FunctionalMap>::maplist>
JOSCPROB::JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t >::JOscProbInterpolator ( const char *  fileName)
inline

Constructor.

Parameters
fileNameoscillation probability table filename

Definition at line 107 of file JOscProbInterpolator.hh.

107  :
109  {
110  this->load(fileName);
111  }
JOscProbInterpolator()
Default constructor.
void load(const char *const fileName)
Load oscillation probability table from file.

◆ JOscProbInterpolator() [3/4]

template<template< class, class > class JCollection_t = JTOOLS::JCollection, class JFunction1D_t = JTOOLS::JPolintFunction1D <1, JTOOLS::JElement2D<double, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, JCollection_t, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, class JFunctionalMaplist_t = JTOOLS::JMAPLIST <JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint2FunctionalMap>::maplist>
JOSCPROB::JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t >::JOscProbInterpolator ( const char *  fileName,
const JOscParameters_t parameters 
)
inline

Constructor.

Parameters
fileNameoscillation probability table filename
parametersoscillation parameters

Definition at line 120 of file JOscProbInterpolator.hh.

121  :
123  {
124  JOscParametersHelper_t::set(parameters);
125 
126  this->load(fileName);
127  }
void set(const std::string &name, const value_type &value) const
Set value for a given oscillation parameter.

◆ JOscProbInterpolator() [4/4]

template<template< class, class > class JCollection_t = JTOOLS::JCollection, class JFunction1D_t = JTOOLS::JPolintFunction1D <1, JTOOLS::JElement2D<double, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, JCollection_t, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, class JFunctionalMaplist_t = JTOOLS::JMAPLIST <JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint2FunctionalMap>::maplist>
JOSCPROB::JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t >::JOscProbInterpolator ( const interpolator_type interpolator)
inline

Copy constructor.

Parameters
interpolatoroscillation probability interpolator

Definition at line 135 of file JOscProbInterpolator.hh.

135  :
137  {
138  static_cast<multifunction_type&>(*this) = static_cast<const multifunction_type&>(interpolator);
139  }
JMultiFunction< JFunction1D_t, JFunctionalMaplist_t > multifunction_type

Member Function Documentation

◆ load()

template<template< class, class > class JCollection_t = JTOOLS::JCollection, class JFunction1D_t = JTOOLS::JPolintFunction1D <1, JTOOLS::JElement2D<double, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, JCollection_t, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, class JFunctionalMaplist_t = JTOOLS::JMAPLIST <JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint2FunctionalMap>::maplist>
void JOSCPROB::JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t >::load ( const char *const  fileName)
inline

Load oscillation probability table from file.

Parameters
fileNameoscillation probability table filename

Definition at line 147 of file JOscProbInterpolator.hh.

148  {
149  using namespace std;
150  using namespace JPP;
151 
152  try {
153 
154  NOTICE("Loading oscillation probability table from file " << fileName << "... " << flush);
155 
156  JLANG::load<JIO::JFileStreamReader>(fileName, static_cast<interpolator_type&>(*this));
157 
158  NOTICE("OK" << endl);
159  }
160  catch(const JException& error) {
161  THROW(JFileReadException, "JOscProbInterpolator::load(): Error reading file " << fileName);
162  }
163  }
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:712
#define NOTICE(A)
Definition: JMessage.hh:64
General exception.
Definition: JException.hh:24
Exception for reading of file.
Definition: JException.hh:396
JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t > interpolator_type
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Definition: JSTDTypes.hh:14

◆ getP()

template<template< class, class > class JCollection_t = JTOOLS::JCollection, class JFunction1D_t = JTOOLS::JPolintFunction1D <1, JTOOLS::JElement2D<double, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, JCollection_t, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, class JFunctionalMaplist_t = JTOOLS::JMAPLIST <JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint2FunctionalMap>::maplist>
double JOSCPROB::JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t >::getP ( const JOscChannel channel,
const double  E,
const double  costh 
) const
inlinefinaloverride

Get oscillation probability for a given oscillation channel.

Parameters
channeloscillation channel
Eneutrino energy [GeV]
costhcosine zenith angle
Returns
oscillation probability

Definition at line 174 of file JOscProbInterpolator.hh.

177  {
178  using namespace std;
179  using namespace JPP;
180 
181  const JOscChannel* p = find(getOscChannel, getOscChannel + NUMBER_OF_OSCCHANNELS, channel);
182 
183  if (p != end(getOscChannel)) {
184 
185  const double L = this->getBaseline(costh);
186 
187  this->buffer[NUMBER_OF_DIMENSIONS-2] = L/E;
188  this->buffer[NUMBER_OF_DIMENSIONS-1] = costh;
189 
190  const double* arguments = this->buffer.data();
191 
192  const size_t index = distance(getOscChannel, p);
193  const result_type& probabilities = this->evaluate(arguments);
194 
195  const double& P = probabilities[index];
196 
197  return (P > 1.0 ? 1.0 : (P < 0.0 ? 0.0 : P));
198 
199  } else {
200 
201  THROW(JValueOutOfRange, "JOscProbInterpolator<...>::getP(): Invalid oscillation channel " << channel << endl);
202  }
203  }
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.
Exception for accessing a value in a collection that is outside of its range.
Definition: JException.hh:180
multifunction_type::result_type result_type
const_pointer data() const
Get pointer to data.
Definition: JArray.hh:284
static const JOscChannel getOscChannel[]
Declare group of neutrino oscillation channels.
Definition: JOscChannel.hh:326
static const unsigned int NUMBER_OF_OSCCHANNELS
Number of neutrino oscillation channels.
Definition: JOscChannel.hh:351
Neutrino oscillation channel.
Definition: JOscChannel.hh:112

◆ read()

template<template< class, class > class JCollection_t = JTOOLS::JCollection, class JFunction1D_t = JTOOLS::JPolintFunction1D <1, JTOOLS::JElement2D<double, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, JCollection_t, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, class JFunctionalMaplist_t = JTOOLS::JMAPLIST <JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint2FunctionalMap>::maplist>
JReader& JOSCPROB::JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t >::read ( JReader in)
inlinefinaloverridevirtual

Read from input.

Parameters
inreader
Returns
reader

Implements JIO::JSerialisable.

Definition at line 212 of file JOscProbInterpolator.hh.

213  {
214  in >> this->Lmin >> this->Lmax;
215  in >> static_cast<multifunction_type&>(*this);
216 
217  this->compile();
218 
219  return in;
220  }
void compile()
Compilation.

◆ write()

template<template< class, class > class JCollection_t = JTOOLS::JCollection, class JFunction1D_t = JTOOLS::JPolintFunction1D <1, JTOOLS::JElement2D<double, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, JCollection_t, JTOOLS::JArray<NUMBER_OF_OSCCHANNELS, double> >, class JFunctionalMaplist_t = JTOOLS::JMAPLIST <JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint2FunctionalMap>::maplist>
JWriter& JOSCPROB::JOscProbInterpolator< JCollection_t, JFunction1D_t, JFunctionalMaplist_t >::write ( JWriter out) const
inlinefinaloverridevirtual

Write from input.

Parameters
outwriter
Returns
writer

Implements JIO::JSerialisable.

Definition at line 229 of file JOscProbInterpolator.hh.

230  {
231  out << this->Lmin << this->Lmax;
232  out << static_cast<const multifunction_type&>(*this);
233 
234  return out;
235  }

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

99  {
100  return static_cast<const JMultiFunction&>(*this);
101  }
Multidimensional interpolation method.

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

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

◆ insert() [1/5]

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.

◆ insert() [2/5]

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  }
void insert(const JMultiFunction< __JFunction_t, __JMaplist_t, __JDistance_t > &input)
Insert multidimensional input.
Multidimensional key.
Definition: JMultiKey.hh:69

◆ insert() [3/5]

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
int j
Definition: JPolint.hh:792

◆ insert() [4/5]

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

◆ insert() [5/5]

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  }

◆ 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 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
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
static const JCompiler compiler
Function object for functional object compilation.
Definition: JFunctional.hh:384

◆ 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 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  }

◆ operator()()

template<class JFunction_t , class JMaplist_t , class JDistance_t = JDistance<typename JFunction_t::argument_type>>
template<class ... Args>
result_type JTOOLS::JMultiFunction< JFunction_t, JMaplist_t, JDistance_t >::operator() ( const Args &...  args) const
inlineinherited

Multi-dimensional interpolation method call.

Parameters
argscomma seperated list of abscissa values
Returns
function value

Definition at line 174 of file JMultiFunction.hh.

175  {
176  buffer.set(args...);
177 
178  return this->evaluate(buffer.data());
179  }
JArray & set(const Args &...args)
Set array.
Definition: JArray.hh:199

◆ clone()

template<class JClonable_t , class JDerived_t >
virtual clone_type JLANG::JClonable< JClonable_t, JDerived_t >::clone ( ) const
inlineoverridevirtualinherited

Member Data Documentation

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

◆ debug

template<class T >
int JEEP::JMessage< T >::debug = 0
staticinherited

debug level (default is off).

Definition at line 45 of file JMessage.hh.


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