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);
 
Interface for binary output. 
 
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
 
esac print_variable DETECTOR INPUT_FILE OUTPUT_FILE CDF for TYPE in
 
void blur(const double TTS, const int numberOfPoints=25, const double epsilon=1.0e-10, const double quantile=0.99)
Blur PDF. 
 
virtual JWriter & write(JWriter &out) const 
Write from input. 
 
virtual JReader & read(JReader &in)
Read from input. 
 
transformablemultifunction_type::value_type value_type
 
JTransformableMultiFunction< JFunction1D_t, JMaplist_t, JDistance_t > transformablemultifunction_type
 
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. 
 
static double Gauss(const double x, const double x0, const double sigma)
Normalised Gauss function. 
 
Interface for binary input. 
 
transformablemultifunction_type::transformer_type transformer_type
 
transformablemultifunction_type::argument_type argument_type
 
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
 
virtual void clear()
Clear status of reader. 
 
static double gauss(const double x, const double sigma)
Gauss function (normalised to 1 at x = 0). 
 
then set_variable FORMULA *[0] exp(-0.5 *(x-[1])*(x-[1])/([2]*[2]))" set_variable OUTPUT_FILE histogram.root JHistogram1D -o $WORKDIR/$OUTPUT_FILE -F "$FORMULA" -