1 #ifndef __JPHYSICS__JCDFTABLE__
2 #define __JPHYSICS__JCDFTABLE__
25 namespace JPP {
using namespace JPHYSICS; }
50 template<
class JFunction1D_t,
55 public JObjectBinaryIO< JCDFTable<JFunction1D_t, JMaplist_t, JDistance_t> >,
92 template<
class __JFunction_t,
class __JMaplist_t,
class __JDistance_t>
94 const typename __JFunction_t::ordinate_type eps =
JMATH::zero) :
99 for (
auto i = input.super_begin(); i != input.super_end(); ++i) {
100 this->
insert((*i).getKey(), (*i).getValue(), eps);
113 template<
class JHistogram_t,
class __JMaplist_t,
class __JDistance_t>
115 const typename JHistogram_t::ordinate_type eps =
JMATH::zero) :
131 template<
class JFunctionTransformer_t>
139 const double W1 = this->transformer->getWeight(array);
140 const double W2 = transformer .getWeight(array);
147 this->transformer.reset(transformer.clone());
158 template<
class ...Args>
164 const double npe =
intensity.evaluate(buffer.data());
176 template<
class ...Args>
207 intensity.setExceptionHandler(
new typename JMultiQuantile_t::function_type::JDefaultResult(
JMATH::zero));
208 function .setExceptionHandler(
new typename JMultiFunction_t::function_type::JDefaultResult(
JMATH::zero));
252 template<
class JValue_t>
254 const JValue_t& value,
255 const typename JValue_t::ordinate_type eps)
263 JFunction1D_t buffer;
269 function .insert(key, buffer);
284 template<
unsigned int N,
287 template<
class,
class,
class>
class __JMap_t,
291 const __JContents_t eps)
293 if (value.getSize() > 1) {
295 for (
auto j = value.begin(), i =
j++;
j != value.end(); ++i, ++
j) {
297 const __JAbscissa_t
x = 0.5 * (i->first +
j->first);
virtual JReader & read(JReader &in) override
Read CDF from input.
Interface for binary output.
JMultiKey< NUMBER_OF_DIMENSIONS-1, argument_type > multikey_type
Multi-dimensional CDF table for arrival time of Cherenkov light.
double getNPE(const Args &...args) const
Get number of photo-electrons.
Auxiliary base class for storing and loading a single object to and from a binary file...
JTOOLS::JMultiFunction< JConstantFunction1D_t, JMaplist_t, JDistance_t > JMultiQuantile_t
void transform(const JFunctionTransformer_t &transformer)
Application of weight function.
JLANG::JSharedPointer< transformer_type > transformer
double getTime(const Args &...args) const
Generate arrival time.
then JShowerPostfit f $INPUT_FILE o $OUTPUT_FILE N
static const JZero zero
Function object to assign zero value.
V(JDAQEvent-JTriggerReprocessor)*1.0/(JDAQEvent+1.0e-10)
Definition of zero value for any class.
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.
JTOOLS::JMultiFunction< JFunction1D_t, JMaplist_t, JDistance_t > JMultiFunction_t
Forward declaration of binary output.
JFunction1D_t::argument_type argument_type
The template JSharedPointer class can be used to share a pointer to an object.
JFunction1D_t::value_type value_type
JCDFTable(const JTransformableMultiFunction< __JFunction_t, __JMaplist_t, __JDistance_t > &input, const typename __JFunction_t::ordinate_type eps=JMATH::zero)
Constructor.
Interface for binary input.
transformablemultifunction_t::transformer_type transformer_type
JCDFTable()
Default constructor.
transformablemultifunction_t::multimap_type multimap_type
JTOOLS::JConstantFunction1D< double, argument_type > JConstantFunction1D_t
JFunction1D_t::result_type result_type
void insert(const multikey_type &key, const JValue_t &value, const typename JValue_t::ordinate_type eps)
Insert value at given multidimensional key.
JTransformableMultiFunction< JFunction1D_t, JMaplist_t, JDistance_t > transformablemultifunction_t
JMultiQuantile_t intensity
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
virtual JWriter & write(JWriter &out) const override
Write CDF to output.
virtual void do_compile() override
Function compilation.
JCDFTable(const JTransformableMultiHistogram< JHistogram_t, __JMaplist_t, __JDistance_t > &input, const typename JHistogram_t::ordinate_type eps=JMATH::zero)
Constructor.