1 #ifndef __JPHYSICS__JPDFTABLE__
2 #define __JPHYSICS__JPDFTABLE__
20 namespace JPP {
using namespace JPHYSICS; }
36 template<
class JFunction1D_t,
42 public JObjectBinaryIO< JPDFTable<JFunction1D_t, JMaplist_t, JDistance_t> >
77 template<
class JPDF_t,
class JPDFMaplist_t,
class JPDFDistance_t>
88 template<
class JHistogram1D_t,
class JHistogramMaplist_t,
class JHistogramDistance_t>
112 const double epsilon = 1.0e-10,
113 const double quantile = 0.99)
116 using namespace JTOOLS;
122 for (
super_iterator i = this->super_begin(); i != this->super_end(); ++i) {
129 const typename function_type::supervisor_type& supervisor = f1.getSupervisor();
144 X.insert(Q.
getX() + TTS*sqrt(2.0)*
j->getX());
147 for (
typename function_type::const_iterator
j = f1.begin();
j != f1.end(); ++
j) {
149 if (
j->getX() - TTS < X.
getXmin()) {
150 X.insert(
j->getX() - TTS);
153 if (
j->getX() + TTS > X.
getXmax()) {
154 X.insert(
j->getX() + TTS);
169 const double u =
j->getX();
170 const double v =
j->getY() / sqrt(
PI);
171 const double w =
get_value(f1(*
x + u*TTS*sqrt(2.0)));
179 buffer.transform(put);
184 f1.setExceptionHandler(supervisor);
197 for (
super_iterator i = this->super_begin(); i != this->super_end(); ++i) {
201 typename function_type::iterator p = f1.lower_bound(range.
getLowerLimit());
203 f1.function_type::container_type::erase(f1.begin(), p);
205 typename function_type::iterator q = f1.lower_bound(range.
getUpperLimit());
207 f1.function_type::container_type::erase(++q, f1.end());
222 if (in >> static_cast<transformablemultifunction_type&>(*
this)) {
228 if (buffer.read(in)) {
254 out << static_cast<const transformablemultifunction_type&>(*this);
269 static double gauss(
const double x,
const double sigma)
271 const double u = x / sigma;
274 return exp(-0.5*u*u);
287 static double Gauss(
const double x,
const double sigma)
301 static double Gauss(
const double x,
const double x0,
const double sigma)
303 return Gauss(x - x0, sigma);
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...
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
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable STRING $argv[2] set_array QUANTILES set_variable FORMULA *[0] exp(-0.5 *(x-[1])*(x-[1])/([2]*[2]))" set_variable MODULE `getModule -a $DETECTOR -L "$STRING 0"` source JAcoustics.sh -- typeset -A TRIPODS get_tripods $WORKDIR/tripod.txt TRIPODS XMEAN
static double Gauss(const double x, const double sigma)
Normalised Gauss function.
void compress(const JRange< typename function_type::abscissa_type > &range)
Compresses PDF to given abscissa range.
Forward declaration of binary output.
JPDFTable(const JTransformableMultiFunction< JPDF_t, JPDFMaplist_t, JPDFDistance_t > &input)
Constructor.
JPDFTable(const JTransformableMultiHistogram< JHistogram1D_t, JHistogramMaplist_t, JHistogramDistance_t > &input)
Constructor.
Multi-dimensional PDF table for arrival time of Cherenkov light.
JPDFTable()
Default constructor.
then break fi done getCenter read X Y Z let X
static double Gauss(const double x, const double x0, const double sigma)
Normalised Gauss function.
static const double PI
Mathematical constants.
Interface for binary input.
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.
transformablemultifunction_type::super_const_iterator super_const_iterator
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 source JAcoustics sh $DETECTOR_ID CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
virtual void clear()
Clear status of reader.
static double gauss(const double x, const double sigma)
Gauss function (normalised to 1 at x = 0).