Jpp
master_rocky-43-ge265d140c
the software that should make you happy
|
Multi-dimensional CDF table for arrival time of Cherenkov light. More...
#include <JCDFTable.hh>
Public Types | |
enum | { NUMBER_OF_DIMENSIONS = transformablemultifunction_t::NUMBER_OF_DIMENSIONS } |
typedef JFunction1D_t::argument_type | argument_type |
typedef JFunction1D_t::result_type | result_type |
typedef JFunction1D_t::value_type | value_type |
typedef JTransformableMultiFunction< JFunction1D_t, JMaplist_t, JDistance_t > | transformablemultifunction_t |
typedef transformablemultifunction_t::multimap_type | multimap_type |
typedef transformablemultifunction_t::transformer_type | transformer_type |
typedef JMultiKey< NUMBER_OF_DIMENSIONS - 1, argument_type > | multikey_type |
typedef JTOOLS::JConstantFunction1D< double, argument_type > | JConstantFunction1D_t |
typedef JTOOLS::JMultiFunction< JConstantFunction1D_t, JMaplist_t, JDistance_t > | JMultiQuantile_t |
typedef JTOOLS::JMultiFunction< JFunction1D_t, JMaplist_t, JDistance_t > | JMultiFunction_t |
typedef JFunctional< argument_type, result_type > | functional_type |
typedef JSupervisor | supervisor_type |
Public Member Functions | |
JCDFTable () | |
Default constructor. More... | |
template<class __JFunction_t , class __JMaplist_t , class __JDistance_t > | |
JCDFTable (const JTransformableMultiFunction< __JFunction_t, __JMaplist_t, __JDistance_t > &input, const typename __JFunction_t::ordinate_type eps=JMATH::zero) | |
Constructor. More... | |
template<class JHistogram_t , class __JMaplist_t , class __JDistance_t > | |
JCDFTable (const JTransformableMultiHistogram< JHistogram_t, __JMaplist_t, __JDistance_t > &input, const typename JHistogram_t::ordinate_type eps=JMATH::zero) | |
Constructor. More... | |
template<class JFunctionTransformer_t > | |
void | transform (const JFunctionTransformer_t &transformer) |
Application of weight function. More... | |
template<class ... Args> | |
double | getNPE (const Args &...args) const |
Get number of photo-electrons. More... | |
template<class ... Args> | |
double | getTime (const Args &...args) const |
Generate arrival time. More... | |
virtual JReader & | read (JReader &in) override |
Read CDF from input. More... | |
virtual JWriter & | write (JWriter &out) const override |
Write CDF to output. More... | |
void | load (const char *file_name) |
Load from input file. More... | |
void | store (const char *file_name) const |
Store to output file. More... | |
virtual result_type | evaluate (const argument_type *pX) const =0 |
Recursive function value evaluation. More... | |
JSupervisor | getSupervisor () const |
Get supervisor. More... | |
const JExceptionHandler & | getExceptionHandler () const |
Get exception handler. More... | |
void | setExceptionHandler (const JSupervisor &supervisor) |
Set the supervisor for handling of exceptions. More... | |
Static Public Member Functions | |
static result_type | getValue (const JFunctional &function, const argument_type *pX) |
Recursive function value evaluation. More... | |
static JClass< result_type >::argument_type | getValue (typename JClass< result_type >::argument_type value, const argument_type *pX) |
Termination of recursive function value evaluation. More... | |
Public Attributes | |
JMultiQuantile_t | intensity |
JMultiFunction_t | function |
JLANG::JSharedPointer< transformer_type > | transformer |
Protected Member Functions | |
virtual void | do_compile () override |
Function compilation. More... | |
template<class JValue_t > | |
void | insert (const multikey_type &key, const JValue_t &value, const typename JValue_t::ordinate_type eps) |
Insert value at given multidimensional 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 > &value, const __JContents_t eps) |
Insert multi-dimensional histogram at multi-dimensional key. More... | |
Protected Attributes | |
JSupervisor | supervisor |
Multi-dimensional CDF table for arrival time of Cherenkov light.
This class can be used to determine the number of photo-electrons as a function of the values of the leading parameter values and to generate random photon arrival times.
N.B. The transformation of the PDF is assumed to be linear.
Definition at line 53 of file JCDFTable.hh.
typedef JFunction1D_t::argument_type JPHYSICS::JCDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::argument_type |
Definition at line 60 of file JCDFTable.hh.
typedef JFunction1D_t::result_type JPHYSICS::JCDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::result_type |
Definition at line 61 of file JCDFTable.hh.
typedef JFunction1D_t::value_type JPHYSICS::JCDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::value_type |
Definition at line 62 of file JCDFTable.hh.
typedef JTransformableMultiFunction<JFunction1D_t, JMaplist_t, JDistance_t> JPHYSICS::JCDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::transformablemultifunction_t |
Definition at line 64 of file JCDFTable.hh.
typedef transformablemultifunction_t::multimap_type JPHYSICS::JCDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::multimap_type |
Definition at line 66 of file JCDFTable.hh.
typedef transformablemultifunction_t::transformer_type JPHYSICS::JCDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::transformer_type |
Definition at line 67 of file JCDFTable.hh.
typedef JMultiKey<NUMBER_OF_DIMENSIONS - 1, argument_type> JPHYSICS::JCDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::multikey_type |
Definition at line 71 of file JCDFTable.hh.
typedef JTOOLS::JConstantFunction1D<double, argument_type> JPHYSICS::JCDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::JConstantFunction1D_t |
Definition at line 73 of file JCDFTable.hh.
typedef JTOOLS::JMultiFunction<JConstantFunction1D_t, JMaplist_t, JDistance_t> JPHYSICS::JCDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::JMultiQuantile_t |
Definition at line 74 of file JCDFTable.hh.
typedef JTOOLS::JMultiFunction<JFunction1D_t, JMaplist_t, JDistance_t> JPHYSICS::JCDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::JMultiFunction_t |
Definition at line 75 of file JCDFTable.hh.
|
inherited |
Definition at line 88 of file JFunctional.hh.
|
inherited |
Definition at line 89 of file JFunctional.hh.
anonymous enum |
Enumerator | |
---|---|
NUMBER_OF_DIMENSIONS |
Definition at line 69 of file JCDFTable.hh.
|
inline |
Default constructor.
Definition at line 81 of file JCDFTable.hh.
|
inline |
Constructor.
input | multi-dimensional PDF |
eps | minimal step size for CDF |
Definition at line 93 of file JCDFTable.hh.
|
inline |
Constructor.
input | multi-dimensional histogram |
eps | minimal step size for CDF |
Definition at line 114 of file JCDFTable.hh.
|
inline |
Application of weight function.
transformer | function transformer |
Definition at line 132 of file JCDFTable.hh.
|
inline |
Get number of photo-electrons.
args | comma separated argument list |
Definition at line 159 of file JCDFTable.hh.
|
inline |
Generate arrival time.
args | comma seperated argument list (last value is random number between 0 and 1) |
Definition at line 177 of file JCDFTable.hh.
|
inlineoverridevirtual |
Read CDF from input.
in | reader |
Implements JIO::JSerialisable.
Definition at line 193 of file JCDFTable.hh.
|
inlineoverridevirtual |
Write CDF to output.
out | writer |
Implements JIO::JSerialisable.
Definition at line 220 of file JCDFTable.hh.
|
inlineoverrideprotectedvirtual |
|
inlineprotected |
Insert value at given multidimensional key.
key | multi-dimensional key |
value | function or histogram |
eps | minimal step size for method JTOOLS::makeCDF |
Definition at line 253 of file JCDFTable.hh.
|
inlineprotected |
Insert multi-dimensional histogram at multi-dimensional key.
key | multidimensional key |
value | multidimensional histogram |
eps | minimal step size for CDF |
Definition at line 289 of file JCDFTable.hh.
|
inlineinherited |
Load from input file.
file_name | file name |
Definition at line 29 of file JObjectBinaryIO.hh.
|
inlineinherited |
Store to output file.
file_name | file name |
Definition at line 40 of file JObjectBinaryIO.hh.
|
pure virtualinherited |
Recursive function value evaluation.
pX | pointer to abscissa values |
Implemented in JTOOLS::JSplineMap< JKey_t, JValue_t, JMap_t, JResult_t, JDistance_t >, JTOOLS::JSplineMap< JKey_t, JValue_t, JGridMap, JResultType< JValue_t >::result_type, JDistance< JKey_t > >, JTOOLS::JSplineMap< JKey_t, JValue_t, JMap, JResultDerivative< JResultType< JValue_t >::result_type >, JDistance< JKey_t > >, JTOOLS::JSplineMap< JKey_t, JValue_t, JMap, JResultType< JValue_t >::result_type, JDistance< JKey_t > >, JTOOLS::JSplineMap< JKey_t, JValue_t, JGridMap, JResultDerivative< JResultType< JValue_t >::result_type >, JDistance< JKey_t > >, JTOOLS::JSplineFunction< JElement_t, JCollection_t, JResultPDF< typename JResultType< typename JElement_t::ordinate_type >::result_type >, JDistance_t >, JTOOLS::JSplineFunction< JElement_t, JCollection_t, JResultDerivative< typename JResultType< typename JElement_t::ordinate_type >::result_type >, JDistance_t >, JTOOLS::JSplineFunction< JElement_t, JCollection_t, typename JResultType< typename JElement_t::ordinate_type >::result_type, JDistance_t >, JTOOLS::JPolintFunction< N, JElement_t, JCollection_t, JResultHesse< typename JResultType< typename JElement_t::ordinate_type >::result_type >, JDistance_t >, JTOOLS::JPolintFunction< N, JElement_t, JCollection_t, JResultDerivative< typename JResultType< typename JElement_t::ordinate_type >::result_type >, JDistance_t >, JTOOLS::JPolintFunction< N, JElement_t, JCollection_t, JResultPolynome< M, typename JResultType< typename JElement_t::ordinate_type >::result_type >, JDistance_t >, JTOOLS::JPolintFunction< N, JElement_t, JCollection_t, JResultPDF< typename JResultType< typename JElement_t::ordinate_type >::result_type >, JDistance_t >, JTOOLS::JPolintFunction< 1, JElement_t, JCollection_t, typename JResultType< typename JElement_t::ordinate_type >::result_type, JDistance_t >, JTOOLS::JPolintFunction< 0, JElement_t, JCollection_t, typename JResultType< typename JElement_t::ordinate_type >::result_type, JDistance_t >, JTOOLS::JPolintFunction< N, JElement_t, JCollection_t, typename JResultType< typename JElement_t::ordinate_type >::result_type, JDistance_t >, JTOOLS::JPolfitFunction< N, M, JElement_t, JCollection_t, JResult_t, JDistance_t >, JTOOLS::JPolfitFunction< N, M, JElement_t, JCollection_t, typename JElement_t::ordinate_type, JDistance< typename JElement_t::abscissa_type > >, JTOOLS::JHermiteSplineMap< JKey_t, JValue_t, JMap_t, JResult_t, JDistance_t >, JTOOLS::JHermiteSplineFunction< JElement_t, JCollection_t, JResultPDF< typename JResultType< typename JElement_t::ordinate_type >::result_type >, JDistance_t >, JTOOLS::JHermiteSplineFunction< JElement_t, JCollection_t, JResultDerivative< typename JResultType< typename JElement_t::ordinate_type >::result_type >, JDistance_t >, JTOOLS::JHermiteSplineFunction< JElement_t, JCollection_t, typename JResultType< typename JElement_t::ordinate_type >::result_type, JDistance_t >, JTOOLS::JFunctionObject1D< JArgument_t, JResult_t >, JTOOLS::JExternalFunction1D< JArgument_t, JResult_t >, and JTOOLS::JConstantFunction1D< JArgument_t, JResult_t >.
|
inlinestaticinherited |
Recursive function value evaluation.
function | function |
pX | pointer to abscissa values |
Definition at line 107 of file JFunctional.hh.
|
inlinestaticinherited |
Termination of recursive function value evaluation.
value | result |
pX | pointer to abscissa values |
Definition at line 121 of file JFunctional.hh.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Set the supervisor for handling of exceptions.
supervisor | supervisor |
Definition at line 303 of file JFunctional.hh.
JMultiQuantile_t JPHYSICS::JCDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::intensity |
Definition at line 229 of file JCDFTable.hh.
JMultiFunction_t JPHYSICS::JCDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::function |
Definition at line 230 of file JCDFTable.hh.
JLANG::JSharedPointer<transformer_type> JPHYSICS::JCDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::transformer |
Definition at line 231 of file JCDFTable.hh.
|
protectedinherited |
Definition at line 310 of file JFunctional.hh.