Jpp master_rocky-44-g75b7c4f75
the software that should make you happy
Loading...
Searching...
No Matches
JAddPDG.cc
Go to the documentation of this file.
1
2#include <string>
3#include <iostream>
4#include <fstream>
5#include <iomanip>
6#include <vector>
7
10#include "JPhysics/JPDFTable.hh"
11
12#include "Jeep/JParser.hh"
13#include "Jeep/JMessage.hh"
14
15
16/**
17 * \file
18 *
19 * Auxiliary program to add PDF tables of the arrival time of the Cherenkov light from an EM-shower.
20 * \author mdejong
21 */
22int main(int argc, char **argv)
23{
24 using namespace std;
25
26 vector<string> inputFile;
27 string outputFile;
28 int debug;
29
30 try {
31
32 JParser<> zap("Auxiliary program to add PDF tables of the arrival time of the Cherenkov light from an EM-shower.");
33
34 zap['f'] = make_field(inputFile);
35 zap['o'] = make_field(outputFile);
36 zap['d'] = make_field(debug) = 2;
37
38 zap(argc, argv);
39 }
40 catch(const exception &error) {
41 FATAL(error.what() << endl);
42 }
43
44
45 if (inputFile.empty()) {
46 FATAL("No input file(s)." << endl);
47 }
48
49 using namespace JPP;
50
51 typedef JSplineFunction1D_t JFunction1D_t;
55 JPolint1FunctionalGridMap>::maplist JMapList_t;
57
58 JPDF_t pdf;
59
60 const JFunction1D_t::JSupervisor supervisor(new JFunction1D_t::JDefaultResult(0.0));
61
62 for (vector<string>::const_iterator i = inputFile.begin(); i != inputFile.end(); ++i) {
63
64 try {
65
66 NOTICE("loading input from file " << *i << "... " << flush);
67
68 JPDF_t buffer;
69
70 buffer.load(i->c_str());
71 buffer.compile();
72 buffer.setExceptionHandler(supervisor);
73
74 NOTICE("OK" << endl);
75
76 if (pdf.empty())
77 pdf = buffer;
78 else
79 pdf.add(buffer);
80 }
81 catch(const JException& error) {
82 FATAL(error.what() << endl);
83 }
84 }
85
86 try {
87
88 NOTICE("storing output to file " << outputFile << "... " << flush);
89
90 pdf.store(outputFile.c_str());
91
92 NOTICE("OK" << endl);
93 }
94 catch(const JException& error) {
95 FATAL(error << endl);
96 }
97}
int main(int argc, char **argv)
Definition JAddPDG.cc:22
string outputFile
Various implementations of functional maps.
General purpose messaging.
#define NOTICE(A)
Definition JMessage.hh:64
#define FATAL(A)
Definition JMessage.hh:67
int debug
debug level
Definition JSirene.cc:69
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Definition JParser.hh:2142
General exception.
Definition JException.hh:24
virtual const char * what() const override
Get error message.
Definition JException.hh:64
Utility class to parse command line options.
Definition JParser.hh:1698
Multi-dimensional PDF table for arrival time of Cherenkov light.
Definition JPDFTable.hh:44
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary class for recursive map list generation.
Definition JMapList.hh:109
Type definition of a 1st degree polynomial interpolation based on a JGridMap implementation.
Type definition of a 1st degree polynomial interpolation based on a JMap implementation.
Type definition of a spline interpolation method based on a JCollection with double result type.