46 JParser<> zap(
"Example program to determine speed of PMT router.");
51 zap[
'n'] =
make_field(numberOfEvents) = JLimit::max();
56 catch(
const exception& error) {
57 FATAL(error.what() << endl);
79 for (JDetector::const_iterator module =
detector.begin(); module !=
detector.end(); ++module) {
80 for (JModule::const_iterator pmt = module->begin(); pmt != module->end(); ++pmt) {
81 zmap[pmt->getID()] = module->getLocation();
87 JRange_t floor = JRange_t::DEFAULT_RANGE;
88 JRange_t string = JRange_t::DEFAULT_RANGE;
90 for (JDetector::const_iterator module =
detector.begin(); module !=
detector.end(); ++module) {
91 floor .
include(module->getFloor());
92 string.
include(module->getString());
95 NOTICE(
"String " <<
string.getLowerLimit() <<
" - " <<
string.getUpperLimit() << endl);
96 NOTICE(
"Floor " << floor .getLowerLimit() <<
" - " << floor .getUpperLimit() << endl);
102 string.getLength() + 1,
103 string.getLowerLimit() - 0.5,
104 string.getUpperLimit() + 0.5,
105 floor.getLength() + 1,
106 floor.getLowerLimit() - 0.5,
107 floor.getUpperLimit() + 0.5);
110 string.getLength() + 1,
111 string.getLowerLimit() - 0.5,
112 string.getUpperLimit() + 0.5,
113 floor.getLength() + 1,
114 floor.getLowerLimit() - 0.5,
115 floor.getUpperLimit() + 0.5);
120 while (inputFile.hasNext()) {
122 STATUS(
"event: " << setw(10) << inputFile.getCounter() <<
'\r');
DEBUG(endl);
124 const Evt*
event = inputFile.next();
130 const JLocation& pos = zmap[hit->pmt_id];
141 while (inputFile.hasNext()) {
143 STATUS(
"event: " << setw(10) << inputFile.getCounter() <<
'\r');
DEBUG(endl);
145 const Evt*
event = inputFile.next();
151 const JLocation& pos = router.getParentModule(hit->pmt_id);
Router for direct addressing of PMT data in detector data structure.
Utility class to parse command line options.
int getFloor() const
Get floor number.
Auxiliary class for defining the range of iterations of objects.
Type definition of range.
Logical location of module.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Auxiliary class for CPU timing and usage.
int getString() const
Get string number.
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
General purpose class for object reading from a list of file names.
const JLimit & getLimit() const
Get limit.
do set_variable DETECTOR_TXT $WORKDIR detector
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.
#define DEBUG(A)
Message macros.