49  JPDF(
const std::string& file_name,
 
   52       const double       epsilon        = 1.0e-10)
 
   57    const JPDF_t::JSupervisor supervisor(
new JPDF_t::JDefaultResult(zero));
 
   59    cout << 
"loading input from file " << file_name << 
"... " << flush;
 
   67    type = getPDFType(file_name);
 
   71      cout << 
"bluring PDFs... " << flush;
 
   77    } 
else if (TTS < 0.0) {
 
 
  101                        const double t1)
 const 
  107    if        (is_bremsstrahlung(
type)) {
 
  109    } 
else if (is_deltarays(
type)) {
 
  110      h1 *= getDeltaRaysFromMuon(E);
 
 
 
  162             const double       epsilon        = 1.0e-10)
 
  167    const JPDFType_t pdf_t[] = { DIRECT_LIGHT_FROM_MUON,
 
  168                                 SCATTERED_LIGHT_FROM_MUON,
 
  169                                 DIRECT_LIGHT_FROM_EMSHOWERS,
 
  170                                 SCATTERED_LIGHT_FROM_EMSHOWERS,
 
  171                                 DIRECT_LIGHT_FROM_DELTARAYS,
 
  172                                 SCATTERED_LIGHT_FROM_DELTARAYS };
 
  174    const  int N = 
sizeof(pdf_t) / 
sizeof(pdf_t[0]);
 
  178    const JPDF_t::JSupervisor supervisor(
new JPDF_t::JDefaultResult(zero));
 
  180    for (
int i = 0; i != N; ++i) {
 
  182      const string file_name = getFilename(fileDescriptor, pdf_t[i]);
 
  184      cout << 
"loading input from file " << file_name << 
"... " << flush;
 
  186      pdf[i].
load(file_name.c_str());
 
  190      cout << 
"OK" << endl;
 
  195    cout << 
"adding PDFs... " << flush;
 
  201    cout << 
"OK" << endl;
 
  205      cout << 
"bluring PDFs... " << flush;
 
  211      cout << 
"OK" << endl;
 
  213    } 
else if (TTS < 0.0) {
 
 
  237                        const double t1)
 const 
  242                      pdfB(R, theta, phi, t1) * E                           +
 
  243                      pdfC(R, theta, phi, t1) * getDeltaRaysFromMuon(E));
 
 
 
  296               const double       epsilon        = 1.0e-10)
 
  301    const JPDFType_t pdf_t[] = { SCATTERED_LIGHT_FROM_EMSHOWER,
 
  302                                 DIRECT_LIGHT_FROM_EMSHOWER };
 
  304    const  int N = 
sizeof(pdf_t) / 
sizeof(pdf_t[0]);
 
  306    const JPDF_t::JSupervisor supervisor(
new JPDF_t::JDefaultResult(zero));
 
  308    for (
int i = 0; i != N; ++i) {
 
  310      const string file_name = getFilename(fileDescriptor, pdf_t[i]);
 
  312      cout << 
"loading input from file " << file_name << 
"... " << flush;
 
  316      pdf.
load(file_name.c_str());
 
  325      cout << 
"OK" << endl;
 
  330      cout << 
"bluring PDFs... " << flush;
 
  334      cout << 
"OK" << endl;
 
  336    } 
else if (TTS < 0.0) {
 
 
  362                        const double t1)
 const 
 
 
General purpose class for a collection of sorted elements.
 
The elements in a collection are sorted according to their abscissa values and a given distance opera...
 
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
 
Numbering scheme for PDF types.
 
This include file containes various data structures that can be used as specific return types for the...
 
Definition of zero value for any class.
 
Exception for accessing a value in a collection that is outside of its range.
 
Multi-dimensional PDF table for arrival time of Cherenkov light.
 
void blur(const double TTS, const int numberOfPoints=25, const double epsilon=1.0e-10, const double quantile=0.99)
Blur PDF.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
void load(const char *file_name)
Load from input file.
 
Auxiliary data structure for muon PDF.
 
JPP::JSplineFunction1D< JPP::JSplineElement2S< double, double >, JPP::JCollection, JPP::JResultPDF< double > > JFunction1D_t
 
JPP::JMAPLIST< JPP::JPolint1FunctionalMap, JPP::JPolint0FunctionalGridMap, JPP::JPolint0FunctionalGridMap >::maplist JPDFMaplist_t
 
JPP::JPDFTable< JFunction1D_t, JPDFMaplist_t > JPDF_t
 
JPDF_t pdfB
PDF for average energy losses.
 
JMuonPDF_t(const std::string &fileDescriptor, const double TTS, const int numberOfPoints=25, const double epsilon=1.0e-10)
Constructor.
 
JPDF_t pdfC
PDF for delta-rays.
 
JFunction1D_t::result_type result_type
 
result_type calculate(const double E, const double R, const double theta, const double phi, const double t1) const
Get PDF.
 
JPDF_t pdfA
PDF for minimum ionising particle.
 
Auxiliary data structure for muon PDF.
 
JPP::JMAPLIST< JPP::JPolint1FunctionalMap, JPP::JPolint0FunctionalGridMap, JPP::JPolint0FunctionalGridMap >::maplist JPDFMaplist_t
 
JPP::JSplineFunction1D< JPP::JSplineElement2S< double, double >, JPP::JCollection, JPP::JResultPDF< double > > JFunction1D_t
 
result_type calculate(const double E, const double R, const double theta, const double phi, const double t1) const
Get PDF.
 
JPDF(const std::string &file_name, const double TTS, const int numberOfPoints=25, const double epsilon=1.0e-10)
Constructor.
 
JPP::JPDFTable< JFunction1D_t, JPDFMaplist_t > JPDF_t
 
JFunction1D_t::result_type result_type
 
Auxiliary data structure for shower PDF.
 
JShowerPDF_t(const std::string &fileDescriptor, const double TTS, const int numberOfPoints=25, const double epsilon=1.0e-10)
Constructor.
 
JFunction1D_t::result_type result_type
 
JPP::JMAPLIST< JPP::JPolint1FunctionalMap, JPP::JPolint1FunctionalMap, JPP::JPolint0FunctionalGridMap, JPP::JPolint0FunctionalGridMap >::maplist JPDFMaplist_t
 
JPDF_t pdfA
PDF for shower.
 
result_type calculate(const double E, const double D, const double cd, const double theta, const double phi, const double t1) const
Get PDF.
 
JPP::JSplineFunction1D< JPP::JSplineElement2S< double, double >, JPP::JCollection, JPP::JResultPDF< double > > JFunction1D_t
 
JPP::JPDFTable< JFunction1D_t, JPDFMaplist_t > JPDF_t