Jpp
15.0.0
the software that should make you happy
|
Multi-dimensional PDF table for arrival time of Cherenkov light. More...
#include <JPDFTable.hh>
Public Member Functions | |
JPDFTable () | |
Default constructor. More... | |
template<class JPDF_t , class JPDFMaplist_t , class JPDFDistance_t > | |
JPDFTable (const JTransformableMultiFunction< JPDF_t, JPDFMaplist_t, JPDFDistance_t > &input) | |
Constructor. More... | |
template<class JHistogram1D_t , class JHistogramMaplist_t , class JHistogramDistance_t > | |
JPDFTable (const JTransformableMultiHistogram< JHistogram1D_t, JHistogramMaplist_t, JHistogramDistance_t > &input) | |
Constructor. More... | |
void | blur (const double TTS, const int numberOfPoints=25, const double epsilon=1.0e-10, const double quantile=0.99) |
Blur PDF. More... | |
void | compress (const JRange< typename function_type::abscissa_type > &range) |
Compresses PDF to given abscissa range. More... | |
virtual JReader & | read (JReader &in) override |
Read from input. More... | |
virtual JWriter & | write (JWriter &out) const override |
Write from input. More... | |
const JTransformableMultiFunction & | getTransformableMultiFunction () const |
Get transformable multidimensional function. More... | |
JTransformableMultiFunction & | getTransformableMultiFunction () |
Get transformable multidimensional function. More... | |
template<class JPDF_t , class JPDFMaplist_t , class JPDFDistance_t > | |
void | insert (const JTransformableMultiFunction< JPDF_t, JPDFMaplist_t, JPDFDistance_t > &input) |
Insert multidimensional input. More... | |
template<class JHistogram_t , class JHistogramMaplist_t , class JHistogramDistance_t > | |
void | insert (const JTransformableMultiHistogram< JHistogram_t, JHistogramMaplist_t, JHistogramDistance_t > &input) |
Insert multidimensional input. More... | |
template<class JPDF_t , class JPDFMaplist_t , class JPDFDistance_t > | |
void | insert (const JMultiFunction< JPDF_t, JPDFMaplist_t, JPDFDistance_t > &input) |
Insert multidimensional input. More... | |
template<class JHistogram_t , class JHistogramMaplist_t , class JHistogramDistance_t > | |
void | insert (const JMultiHistogram< JHistogram_t, JHistogramMaplist_t, JHistogramDistance_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 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... | |
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 __JValue_t > | |
void | insert (const JMultiKey< JMapLength< JMaplist_t >::value, argument_type > &key, const __JValue_t &input) |
Convert one-dimensional histogram to PDF and insert result at given multidimensional key. More... | |
Static Protected Member Functions | |
static double | gauss (const double x, const double sigma) |
Gauss function (normalised to 1 at x = 0). More... | |
static double | Gauss (const double x, const double sigma) |
Normalised Gauss function. More... | |
static double | Gauss (const double x, const double x0, const double sigma) |
Normalised Gauss function. More... | |
Multi-dimensional PDF table for arrival time of Cherenkov light.
Definition at line 39 of file JPDFTable.hh.
typedef JTransformableMultiFunction<JFunction1D_t, JMaplist_t, JDistance_t> JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::transformablemultifunction_type |
Definition at line 46 of file JPDFTable.hh.
typedef transformablemultifunction_type::argument_type JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::argument_type |
Definition at line 48 of file JPDFTable.hh.
typedef transformablemultifunction_type::result_type JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::result_type |
Definition at line 49 of file JPDFTable.hh.
typedef transformablemultifunction_type::value_type JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::value_type |
Definition at line 50 of file JPDFTable.hh.
typedef transformablemultifunction_type::multimap_type JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::multimap_type |
Definition at line 52 of file JPDFTable.hh.
typedef transformablemultifunction_type::transformer_type JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::transformer_type |
Definition at line 53 of file JPDFTable.hh.
typedef transformablemultifunction_type::super_const_iterator JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::super_const_iterator |
Definition at line 57 of file JPDFTable.hh.
typedef transformablemultifunction_type::super_iterator JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::super_iterator |
Definition at line 58 of file JPDFTable.hh.
typedef transformablemultifunction_type::function_type JPHYSICS::JPDFTable< JFunction1D_t, JMaplist_t, JDistance_t >::function_type |
Definition at line 59 of file JPDFTable.hh.
|
inherited |
Definition at line 44 of file JTransformableMultiFunction.hh.
|
inherited |
Definition at line 52 of file JTransformableMultiFunction.hh.
|
inherited |
Definition at line 54 of file JTransformableMultiFunction.hh.
|
inherited |
Definition at line 55 of file JTransformableMultiFunction.hh.
|
inherited |
Definition at line 58 of file JTransformableMultiFunction.hh.
|
inherited |
Definition at line 59 of file JTransformableMultiFunction.hh.
|
inherited |
Definition at line 60 of file JTransformableMultiFunction.hh.
|
inherited |
Definition at line 61 of file JTransformableMultiFunction.hh.
|
inherited |
Definition at line 67 of file JTransformableMultiFunction.hh.
anonymous enum |
Enumerator | |
---|---|
NUMBER_OF_DIMENSIONS |
Definition at line 55 of file JPDFTable.hh.
|
inherited |
Enumerator | |
---|---|
NUMBER_OF_DIMENSIONS |
Definition at line 46 of file JTransformableMultiFunction.hh.
|
inherited |
|
inline |
Default constructor.
Definition at line 67 of file JPDFTable.hh.
|
inline |
Constructor.
input | multi-dimensional function |
Definition at line 78 of file JPDFTable.hh.
|
inline |
Constructor.
input | multi-dimensional histogram |
Definition at line 89 of file JPDFTable.hh.
|
inline |
Blur PDF.
The arrival times of Cherenkov light are smeared according to a Gaussian distribution with the specified width (i.e. TTS) using Gauss-Hermite integration. An exception is made when the time range according the specified quantile is smaller than the specified width (TTS) of the Gaussian distribution. In that case, the resulting PDF is a Gaussian distribution with the specified width (TTS) and normalisation according to the integral value of the input PDF. A smooth transition is imposed between the normal regime and this exeption.
TTS | TTS [ns] |
numberOfPoints | number of points for Gauss-Hermite integration |
epsilon | precision |
quantile | quantile |
Definition at line 110 of file JPDFTable.hh.
|
inline |
Compresses PDF to given abscissa range.
range | abscissa range |
Definition at line 195 of file JPDFTable.hh.
|
inlineoverridevirtual |
Read from input.
in | reader |
Implements JIO::JSerialisable.
Definition at line 220 of file JPDFTable.hh.
|
inlineoverridevirtual |
Write from input.
out | writer |
Implements JIO::JSerialisable.
Definition at line 252 of file JPDFTable.hh.
|
inlinestaticprotected |
Gauss function (normalised to 1 at x = 0).
x | x |
sigma | sigma |
Definition at line 269 of file JPDFTable.hh.
|
inlinestaticprotected |
Normalised Gauss function.
x | x |
sigma | sigma |
Definition at line 287 of file JPDFTable.hh.
|
inlinestaticprotected |
Normalised Gauss function.
x | x |
x0 | central value |
sigma | sigma |
Definition at line 301 of file JPDFTable.hh.
|
inlineinherited |
Get transformable multidimensional function.
Definition at line 99 of file JTransformableMultiFunction.hh.
|
inlineinherited |
Get transformable multidimensional function.
Definition at line 110 of file JTransformableMultiFunction.hh.
|
inlineinherited |
Insert multidimensional input.
input | multidimensional function |
Definition at line 122 of file JTransformableMultiFunction.hh.
|
inlineinherited |
Insert multidimensional input.
input | multidimensional histogram |
Definition at line 136 of file JTransformableMultiFunction.hh.
|
inlineinherited |
Insert multidimensional input.
input | multidimensional function |
Definition at line 120 of file JMultiFunction.hh.
|
inlineinherited |
Insert multidimensional input.
input | multidimensional histogram |
Definition at line 132 of file JMultiFunction.hh.
|
inlineprotectedinherited |
Insert multidimensional histogram at multidimensional key.
key | multidimensional key |
input | multidimensional histogram |
Definition at line 191 of file JMultiFunction.hh.
|
inlineprotectedinherited |
Convert one-dimensional histogram to PDF and insert result at given multidimensional key.
key | multidimensional key |
input | histogram |
Definition at line 213 of file JMultiFunction.hh.
|
inlineinherited |
Add function.
Note that the summation is made via iteration of the elements in this multidimensional function.
input | multidimensional function |
Definition at line 152 of file JTransformableMultiFunction.hh.
|
inlineinherited |
Multidimensional interpolation method call.
args | comma seperated list of abscissa values |
Definition at line 187 of file JTransformableMultiFunction.hh.
|
inlineoverridevirtualinherited |
Recursive function value evaluation.
pX | pointer to abscissa values |
Definition at line 199 of file JTransformableMultiFunction.hh.
|
inlineoverridevirtualinherited |
Application of weight function and coordinate transformation.
transformer | function transformer |
Definition at line 219 of file JTransformableMultiFunction.hh.
|
pure virtualinherited |
Application of transformation.
transformer | function transformer |
|
inlineinherited |
Get multidimensional function.
Definition at line 97 of file JMultiFunction.hh.
|
inlineinherited |
Get multidimensional function.
Definition at line 108 of file JMultiFunction.hh.
|
inlineinherited |
Compilation.
Definition at line 141 of file JMultiFunction.hh.
|
inlineinherited |
Set the supervisor for handling of exceptions.
supervisor | supervisor |
Definition at line 156 of file JMultiFunction.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.
|
inherited |
Definition at line 268 of file JTransformableMultiFunction.hh.