1 #ifndef __JPHYSICS__JPDFTABLE__
2 #define __JPHYSICS__JPDFTABLE__
21 namespace JPP {
using namespace JPHYSICS; }
37 template<
class JFunction1D_t,
43 public JObjectBinaryIO< JPDFTable<JFunction1D_t, JMaplist_t, JDistance_t> >
78 template<
class __JFunction_t,
class __JMaplist_t,
class __JDistance_t>
89 template<
class JHistogram_t,
class __JMaplist_t,
class __JDistance_t>
113 const double epsilon = 1.0e-10,
114 const double quantile = 0.99)
123 for (
super_iterator i = this->super_begin(); i != this->super_end(); ++i) {
130 const typename function_type::supervisor_type& supervisor = f1.getSupervisor();
133 const JMultiMapPutTransformer<NUMBER_OF_DIMENSIONS - 1, value_type> put(*(this->
transformer), array);
138 const JQuantiles
Q(f1, quantile);
145 X.insert(Q.getX() + TTS*sqrt(2.0)*
j->getX());
148 for (
typename function_type::const_iterator
j = f1.begin();
j != f1.end(); ++
j) {
150 if (
j->getX() - TTS < X.getXmin()) {
151 X.insert(
j->getX() - TTS);
154 if (
j->getX() + TTS > X.getXmax()) {
155 X.insert(
j->getX() + TTS);
160 const double W =
gauss(Q.getUpperLimit() - Q.getLowerLimit(), TTS);
164 for (JSet<double>::const_iterator
x = X.begin();
x != X.end(); ++
x) {
170 const double u =
j->getX();
171 const double v =
j->getY() / sqrt(
PI);
177 buffer[*
x] = W * Q.getIntegral() *
Gauss(*
x - Q.getX(), TTS) + (1.0 - W) * y;
180 buffer.transform(put);
185 f1.setExceptionHandler(supervisor);
198 for (
super_iterator i = this->super_begin(); i != this->super_end(); ++i) {
202 typename function_type::iterator p = f1.lower_bound(range.
getLowerLimit());
204 f1.function_type::container_type::erase(f1.begin(), p);
206 typename function_type::iterator q = f1.lower_bound(range.
getUpperLimit());
208 f1.function_type::container_type::erase(++q, f1.end());
223 if (in >> static_cast<transformablemultifunction_type&>(*
this)) {
229 if (buffer.read(in)) {
255 out << static_cast<const transformablemultifunction_type&>(*this);
virtual JWriter & write(JWriter &out) const override
Write from input.
Interface for binary output.
Q(UTCMax_s-UTCMin_s)-livetime_s
Auxiliary base class for storing and loading a single object to and from a binary file...
Auxiliary methods for mathematics.
transformablemultifunction_type::multimap_type multimap_type
transformablemultifunction_type::function_type function_type
void blur(const double TTS, const int numberOfPoints=25, const double epsilon=1.0e-10, const double quantile=0.99)
Blur PDF.
transformablemultifunction_type::value_type value_type
JTransformableMultiFunction< JFunction1D_t, JMaplist_t, JDistance_t > transformablemultifunction_type
void compress(const JRange< typename function_type::abscissa_type > &range)
Compresses PDF to given abscissa range.
Forward declaration of binary output.
const JPolynome f1(1.0, 2.0, 3.0)
Function.
Multi-dimensional PDF table for arrival time of Cherenkov light.
JPDFTable()
Default constructor.
static const double PI
Mathematical constants.
Interface for binary input.
JPDFTable(const JTransformableMultiFunction< __JFunction_t, __JMaplist_t, __JDistance_t > &input)
Constructor.
transformablemultifunction_type::transformer_type transformer_type
transformablemultifunction_type::argument_type argument_type
z range($ZMAX-$ZMIN)< $MINIMAL_DZ." fi fi typeset -Z 4 STRING typeset -Z 2 FLOOR JPlot1D -f $
virtual JReader & read(JReader &in) override
Read from input.
Auxiliary class to define a range between two values.
double gauss(const double x, const double sigma)
Gauss function (normalised to 1 at x = 0).
double Gauss(const double x, const double sigma)
Normalised Gauss function.
transformablemultifunction_type::super_const_iterator super_const_iterator
JPDFTable(const JTransformableMultiHistogram< JHistogram_t, __JMaplist_t, __JDistance_t > &input)
Constructor.
no fit printf nominal n $STRING awk v X
transformablemultifunction_type::super_iterator super_iterator
transformablemultifunction_type::result_type result_type
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 void clear()
Clear status of reader.
double getValue(const double x) const
Function value.