24{
27
28 string inputFile;
30
31 try {
32
33 JParser<> zap(
"Program to print PDF of Cherenkov light from elongated EM-shower.");
34
37
38 zap(argc, argv);
39 }
40 catch(const exception &error) {
41 FATAL(error.what() << endl);
42 }
43
44
52
53 JPDF_t pdf;
54
55 try {
56
57 NOTICE(
"loading input from file " << inputFile <<
"... " << flush);
58
59 pdf.load(inputFile.c_str());
60
62 }
65 }
66
67 int number_of_counts = 0;
68 int number_of_errors = 0;
69
70 for (JPDF_t::super_const_iterator i = pdf.super_begin(); i != pdf.super_end(); ++i) {
71
73
74 for (JFunction1D_t::const_iterator p =
f1.begin(); p !=
f1.end(); ++p) {
75
76 number_of_counts += 1;
77
78 if (p->getY() != p->getY()) {
79
80 if (
debug >= debug_t) {
81 cout <<
FIXED(15,5) << i->first <<
' ';
82 cout <<
FIXED(15,5) << i->second->first <<
' ';
83 cout <<
FIXED(15,5) << i->second->second->first <<
' ';
84 cout <<
FIXED(15,5) << i->second->second->second->first <<
' ';
85 cout <<
FIXED(15,5) << i->second->second->second->second->first <<
' ';
86 cout <<
FIXED(15,5) << p->getX() <<
' ';
87 cout <<
FIXED(15,5) << p->getY() << endl;
88 }
89
90 number_of_errors += 1;
91 }
92 }
93 }
94
95 cout << "Number of errors / counts: " << number_of_errors << " / " << number_of_counts << endl;
96
97 if (number_of_errors != 0) {
98 FATAL(
"Number of errors " << number_of_errors << endl);
99 }
100
101 return 0;
102}
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
virtual const char * what() const override
Get error message.
Utility class to parse command line options.
Multi-dimensional PDF table for arrival time of Cherenkov light.
const JPolynome f1(1.0, 2.0, 3.0)
Function.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary data structure for floating point format specification.
double getValue(const double x) const
Function value.