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

Example program to print PMT logical addressing. More...

#include <string>
#include <iostream>
#include <iomanip>
#include <algorithm>
#include "km3net-dataformat/online/JDAQ.hh"
#include "JDetector/JDetectorAddressMap.hh"
#include "JDetector/JDetectorSupportkit.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

Example program to print PMT logical addressing.

Author
mdejong

Definition in file JModuleAddressMap.cc.

Function Documentation

◆ main()

int main ( int argc,
char ** argv )

Definition at line 26 of file JModuleAddressMap.cc.

27{
28 using namespace std;
29 using namespace JPP;
30
31 int detectorID;
32 int moduleID;
33 string option;
34 int debug;
35
36 try {
37
38 JParser<> zap("Example program to print PMT logical addressing.");
39
40 zap['D'] = make_field(detectorID);
41 zap['M'] = make_field(moduleID) = -1;
42 zap['M'] = make_field(moduleID) = -1;
43 zap['O'] = make_field(option, "sort") = readout_t, physical_t;
44 zap['d'] = make_field(debug) = 0;
45
46 zap(argc, argv);
47 }
48 catch(const exception &error) {
49 FATAL(error.what() << endl);
50 }
51
52
53
54 if (!hasDetectorAddressMap(detectorID)) {
55 FATAL("No detector address map for detector identifier " << detectorID << endl);
56 }
57
58 const JDetectorAddressMap& demo = getDetectorAddressMap(detectorID);
59
60 JModuleAddressMap memo = demo.get(moduleID);
61
62 if (option == readout_t)
63 sort(memo.begin(), memo.end(), less<JPMTReadoutAddress>());
64 else if (option == physical_t)
65 sort(memo.begin(), memo.end(), less<JPMTPhysicalAddress>());
66 else
67 ;
68
69 for (JModuleAddressMap::const_iterator i = memo.begin(); i != memo.end(); ++i) {
70 cout << setw(2) << i->tdc << ' ' << i->ring << i->position << endl;
71 }
72}
#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
Lookup table for PMT addresses in detector.
const JModuleAddressMap & get(const int id) const
Get module address map.
Lookup table for PMT addresses in optical module.
Utility class to parse command line options.
Definition JParser.hh:1698
JDetectorAddressMap & getDetectorAddressMap()
Get detector address map.
bool hasDetectorAddressMap(const int id)
Check if detector address map is available.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).