Jpp test-rotations-old
the software that should make you happy
Loading...
Searching...
No Matches
JPrintPMTThreshold.cc File Reference

Auxiliary program to print PMT thresholds. More...

#include <string>
#include <iostream>
#include <iomanip>
#include <fstream>
#include <algorithm>
#include "JLang/JComparator.hh"
#include "JDetector/JDetectorCalibration.hh"
#include "Jeep/JParser.hh"
#include "Jeep/JMessage.hh"

Go to the source code of this file.

Functions

int main (int argc, char **argv)
 

Detailed Description

Auxiliary program to print PMT thresholds.

Author
mdejong

Definition in file examples/JCalibrate/JPrintPMTThreshold.cc.

Function Documentation

◆ main()

int main ( int argc,
char ** argv )

Definition at line 20 of file examples/JCalibrate/JPrintPMTThreshold.cc.

21{
22 using namespace std;
23 using namespace JPP;
24
25 string inputFile;
26 int threshold;
27 int debug;
28
29 try {
30
31 JParser<> zap("Auxiliary program to print PMT thresholds.");
32
33 zap['f'] = make_field(inputFile, "PMT threshold file (json format)");
34 zap['T'] = make_field(threshold) = 0;
35 zap['d'] = make_field(debug) = 1;
36
37 zap(argc, argv);
38 }
39 catch(const exception &error) {
40 FATAL(error.what() << endl);
41 }
42
43
44 json js;
45
46 istream* in = open<istream>(inputFile.c_str());
47
48 *in >> js;
49
50 close(in);
51
52 try {
53
55
56 sort(calibration.begin(), calibration.end(), make_comparator(&JPMTThresholdCalibration_t::getUPI));
57
58 for (JPMTThresholdCalibration::const_iterator i = calibration.begin(); i != calibration.end(); ++i) {
59 if (i->threshold >= threshold) {
60 cout << "PMT " << left << setw(32) << static_cast<const JUPI_t&>(*i) << " -> " << right << setw(3) << i->threshold << endl;
61 }
62 }
63 }
64 catch(const exception& error) {
65 FATAL(error.what() << endl);
66 }
67}
#define FATAL(A)
Definition JMessage.hh:67
int debug
debug level
Definition JSirene.cc:72
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Definition JParser.hh:2142
nlohmann::json json
Utility class to parse command line options.
Definition JParser.hh:1698
void close(std::istream *pf)
Close file.
JComparator< JResult_t T::*, JComparison::lt > make_comparator(JResult_t T::*member)
Helper method to create comparator between values of data member.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Calibration.
Definition JHead.hh:330