1 #ifndef __JPHYSICS__JPDFTABLE__ 
    2 #define __JPHYSICS__JPDFTABLE__ 
   19 namespace JPP { 
using namespace JPHYSICS; }
 
   34   template<
class JFunction1D_t,
 
   40     public JObjectBinaryIO< JPDFTable<JFunction1D_t, JMaplist_t, JDistance_t> >
 
   75     template<
class JPDF_t, 
class JPDFMaplist_t, 
class JPDFDistance_t>    
 
   86     template<
class JHistogram1D_t, 
class JHistogramMaplist_t, 
class JHistogramDistance_t>
 
  110               const double epsilon        = 1.0e-10,
 
  111               const double quantile       = 0.99)
 
  114       using namespace JTOOLS;
 
  120       for (
super_iterator i = this->super_begin(); i != this->super_end(); ++i) {
 
  127           const typename function_type::supervisor_type& supervisor = f1.getSupervisor();
 
  142             X.insert(Q.
getX() + TTS*sqrt(2.0)*j->getX());
 
  145           for (
typename function_type::const_iterator j = f1.begin(); j != f1.end(); ++j) {
 
  147             if (j->getX() - TTS < X.
getXmin()) {
 
  148               X.insert(j->getX() - TTS);
 
  151             if (j->getX() + TTS > X.
getXmax()) {
 
  152               X.insert(j->getX() + TTS);
 
  167               const double u = j->getX();
 
  168               const double v = j->getY() / sqrt(
PI);
 
  169               const double w = 
get_value(f1(*x + u*TTS*sqrt(2.0)));
 
  177           buffer.transform(put);
 
  182           f1.setExceptionHandler(supervisor);
 
  196       if (in >> static_cast<transformablemultifunction_t&>(*
this)) {
 
  202         if (buffer.read(in)) {
 
  228       out << static_cast<const transformablemultifunction_t&>(*this);
 
  243     static double gauss(
const double x, 
const double sigma)
 
  245       const double u = x / sigma;
 
  248         return exp(-0.5*u*u);
 
  261     static double Gauss(
const double x, 
const double sigma)
 
  275     static double Gauss(
const double x, 
const double x0, 
const double sigma)
 
  277       return Gauss(x - x0, sigma);
 
transformablemultifunction_t::value_type value_type
 
Interface for binary output. 
 
transformablemultifunction_t::super_iterator super_iterator
 
transformablemultifunction_t::result_type result_type
 
Auxiliary base class for storing and loading a single object to and from a binary file...
 
transformablemultifunction_t::multimap_type multimap_type
 
void blur(const double TTS, const int numberOfPoints=25, const double epsilon=1.0e-10, const double quantile=0.99)
Blur PDF. 
 
transformablemultifunction_t::argument_type argument_type
 
virtual JWriter & write(JWriter &out) const 
Write from input. 
 
virtual JReader & read(JReader &in)
Read from input. 
 
JTransformableMultiFunction< JFunction1D_t, JMaplist_t, JDistance_t > transformablemultifunction_t
 
transformablemultifunction_t::super_const_iterator super_const_iterator
 
static double Gauss(const double x, const double sigma)
Normalised Gauss function. 
 
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. 
 
static double Gauss(const double x, const double x0, const double sigma)
Normalised Gauss function. 
 
Interface for binary input. 
 
transformablemultifunction_t::transformer_type transformer_type
 
virtual void clear()
Clear status of reader. 
 
static double gauss(const double x, const double sigma)
Gauss function (normalised to 1 at x = 0). 
 
transformablemultifunction_t::function_type function_type