Jpp
15.0.5
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_t |
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 JPDF_t , class JPDFMaplist_t , class JPDFDistance_t > | |
JCDFTable (const JTransformableMultiFunction< JPDF_t, JPDFMaplist_t, JPDFDistance_t > &input, const typename JPDF_t::ordinate_type eps=JMATH::zero) | |
Constructor. More... | |
template<class JHistogram1D_t , class JHistogramMap_t , class JHistogramDistance_t > | |
JCDFTable (const JTransformableMultiHistogram< JHistogram1D_t, JHistogramMap_t, JHistogramDistance_t > &input, const typename JHistogram1D_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 JPDF_t > | |
void | insert (const multikey_t &key, const JPDF_t &value, const typename JPDF_t::ordinate_type eps) |
Insert value at given multidimensional key. More... | |
template<unsigned int N, class JKey_t , class JValue_t , class JHistogramMaplist_t , class JHistogramDistance_t > | |
void | insert (const JMultiKey< N, JKey_t > &key, const JMultiMap< JKey_t, JValue_t, JHistogramMaplist_t, JHistogramDistance_t > &histogram, const typename JValue_t::contents_type 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 50 of file JCDFTable.hh.
typedef JFunction1D_t::argument_type JPHYSICS::JCDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::argument_type |
Definition at line 57 of file JCDFTable.hh.
typedef JFunction1D_t::result_type JPHYSICS::JCDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::result_type |
Definition at line 58 of file JCDFTable.hh.
typedef JFunction1D_t::value_type JPHYSICS::JCDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::value_type |
Definition at line 59 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 61 of file JCDFTable.hh.
typedef transformablemultifunction_t::multimap_type JPHYSICS::JCDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::multimap_type |
Definition at line 63 of file JCDFTable.hh.
typedef transformablemultifunction_t::transformer_type JPHYSICS::JCDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::transformer_type |
Definition at line 64 of file JCDFTable.hh.
typedef JMultiKey<NUMBER_OF_DIMENSIONS - 1, argument_type> JPHYSICS::JCDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::multikey_t |
Definition at line 68 of file JCDFTable.hh.
typedef JTOOLS::JConstantFunction1D<double, argument_type> JPHYSICS::JCDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::JConstantFunction1D_t |
Definition at line 70 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 71 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 72 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 66 of file JCDFTable.hh.
|
inline |
Default constructor.
Definition at line 78 of file JCDFTable.hh.
|
inline |
Constructor.
input | multi-dimensional PDF |
eps | minimal step size for CDF |
Definition at line 90 of file JCDFTable.hh.
|
inline |
Constructor.
input | multi-dimensional histogram |
eps | minimal step size for CDF |
Definition at line 111 of file JCDFTable.hh.
|
inline |
Application of weight function.
transformer | function transformer |
Definition at line 129 of file JCDFTable.hh.
|
inline |
Get number of photo-electrons.
args | comma separated argument list |
Definition at line 156 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 174 of file JCDFTable.hh.
|
inlineoverridevirtual |
Read CDF from input.
in | reader |
Implements JIO::JSerialisable.
Definition at line 190 of file JCDFTable.hh.
|
inlineoverridevirtual |
Write CDF to output.
out | writer |
Implements JIO::JSerialisable.
Definition at line 217 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 CDF |
Definition at line 250 of file JCDFTable.hh.
|
inlineprotected |
Insert multi-dimensional histogram at multi-dimensional key.
key | multidimensional key |
histogram | multidimensional histogram |
eps | minimal step size for CDF |
Definition at line 280 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, JGridMap, JResultType< JValue_t >::result_type, JDistance_t >, JTOOLS::JSplineMap< JKey_t, JValue_t, JMap, JResultDerivative< JResultType< JValue_t >::result_type >, JDistance_t >, JTOOLS::JSplineMap< JKey_t, JValue_t, JMap, JResultType< JValue_t >::result_type, JDistance_t >, JTOOLS::JSplineMap< JKey_t, JValue_t, JGridMap, JResultDerivative< JResultType< JValue_t >::result_type >, JDistance_t >, JTOOLS::JConstantFunction1D< JArgument_t, JResult_t >, JTOOLS::JFunctionObject1D< JArgument_t, JResult_t >, and JTOOLS::JExternalFunction1D< 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 288 of file JFunctional.hh.
JMultiQuantile_t JPHYSICS::JCDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::intensity |
Definition at line 226 of file JCDFTable.hh.
JMultiFunction_t JPHYSICS::JCDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::function |
Definition at line 227 of file JCDFTable.hh.
JLANG::JSharedPointer<transformer_type> JPHYSICS::JCDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::transformer |
Definition at line 228 of file JCDFTable.hh.
|
protectedinherited |
Definition at line 295 of file JFunctional.hh.