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);
 
   76   for (JDetector::const_iterator module = 
detector.begin(); module != 
detector.end(); ++module) {
 
   77     for (JModule::const_iterator pmt = module->begin(); pmt != module->end(); ++pmt) {
 
   78       zmap[pmt->getID()] = module->getLocation();
 
   84   JRange_t floor  = JRange_t::DEFAULT_RANGE;
 
   85   JRange_t string = JRange_t::DEFAULT_RANGE;
 
   87   for (JDetector::const_iterator module = 
detector.begin(); module != 
detector.end(); ++module) {
 
   88     floor .
include(module->getFloor());
 
   89     string.
include(module->getString());
 
   92   NOTICE(
"String  " << 
string.getLowerLimit() << 
" - " << 
string.getUpperLimit() << endl);
 
   93   NOTICE(
"Floor   " << floor .getLowerLimit() << 
" - " << floor .getUpperLimit() << endl);
 
   99           string.getLength() + 1,
 
  100           string.getLowerLimit() - 0.5,
 
  101           string.getUpperLimit() + 0.5,
 
  102           floor.getLength() + 1,
 
  103           floor.getLowerLimit() - 0.5,
 
  104           floor.getUpperLimit() + 0.5);
 
  107           string.getLength() + 1,
 
  108           string.getLowerLimit() - 0.5,
 
  109           string.getUpperLimit() + 0.5,
 
  110           floor.getLength() + 1,
 
  111           floor.getLowerLimit() - 0.5,
 
  112           floor.getUpperLimit() + 0.5);
 
  117   while (inputFile.hasNext()) {
 
  119     STATUS(
"event: " << setw(10) << inputFile.getCounter() << 
'\r'); 
DEBUG(endl);
 
  121     const Evt* 
event = inputFile.next();
 
  127       const JLocation& pos = zmap[hit->pmt_id];
 
  138   while (inputFile.hasNext()) {
 
  140     STATUS(
"event: " << setw(10) << inputFile.getCounter() << 
'\r'); 
DEBUG(endl);
 
  142     const Evt* 
event = inputFile.next();
 
  148       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.