27{
30
31 int detectorID;
32 int moduleID;
33 string option;
35
36 try {
37
38 JParser<> zap(
"Example program to print PMT logical addressing.");
39
43 zap[
'O'] =
make_field(option,
"sort") = readout_t, physical_t;
45
46 zap(argc, argv);
47 }
48 catch(const exception &error) {
49 FATAL(error.what() << endl);
50 }
51
52
53
55 FATAL(
"No detector address map for detector identifier " << detectorID << endl);
56 }
57
59
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 make_field(A,...)
macro to convert parameter to JParserTemplateElement object
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.
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).