19{
   20 
   23  
   24  string    detectorFile_a;
   25  string    detectorFile_b;
   27  bool      squash;
   29  
   30  try { 
   31 
   32    JParser<> zap(
"Auxiliary program to attach PMTs to detector.");
 
   33    
   34    zap[
'a'] = 
make_field(detectorFile_a, 
"detector file w/o  PMTs");
 
   35    zap[
'f'] = 
make_field(detectorFile_b, 
"detector file with PMTs");
 
   37    zap[
'q'] = 
make_field(squash,         
"squash meta data");
 
   39 
   40    zap(argc, argv);
   41  }
   42  catch(const exception &error) {
   43    FATAL(error.what() << endl);
 
   44  }
   45   
   48 
   49  try {
   50    load(detectorFile_a, detector_a);
 
   51    load(detectorFile_b, detector_b);
 
   52  }
   55  }
   56 
   57  if (squash) {
   59  }
   60 
   62 
   65  }  
   66 
   67  for (JDetector::iterator module_b = detector_b.begin(); module_b != detector_b.end(); ++module_b) {
   68 
   69    for (JDetector::iterator module_a = detector_a.begin(); module_a != detector_a.end(); ++module_a) {
   70 
   71      if (module_a->getID() == module_b->getID()) {
   72 
   73        DEBUG(
"Attach PMTs in module " << setw(10) << module_a->getID() << endl);
 
   74 
   75        module_b->set ( module_a->getPosition());
   76        module_b->swap(*module_a);
   77 
   78        break;
   79      }
   80    }
   81  }
   82 
   83  try {
   85  }
   88  }
   89}
#define DEBUG(A)
Message macros.
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
 
bool setToLatestVersion()
Set to latest version.
 
Utility class to parse command line options.
 
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
 
void store(const std::string &file_name, const JDetector &detector)
Store detector to output file.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
const std::string & getVersion() const
Get version.