11 #include "evt/Head.hh" 
   39 int main(
int argc, 
char **argv)
 
   44   JMultipleFileScanner<Evt>                                              inputFile;
 
   45   JFileRecorder<JTYPELIST<JAAnetTypes_t, JMeta, JRootTypes_t>::typelist> 
outputFile;
 
   55     JParser<> zap(
"Auxiliary program to add noise to Monte Carlo event.");
 
   59     zap[
'n'] = 
make_field(numberOfEvents)  = JLimit::max();
 
   61     zap[
'T'] = 
make_field(period)          = JTimeRange::DEFAULT_RANGE;
 
   70   catch(
const exception &error) {
 
   71     FATAL(error.what() << endl);
 
   75   gRandom->SetSeed(seed);
 
   82     load(detectorFile, detector);
 
   84   catch(
const JException& error) {
 
   89   if (period == JTimeRange::DEFAULT_RANGE) {
 
   97   const JK40DefaultSimulator modk40(rates_Hz);
 
  108   JMultipleFileScanner<Head> io(inputFile);
 
  112   while (inputFile.hasNext()) {
 
  114     STATUS(
"event: " << setw(10) << inputFile.getCounter() << 
'\r'); 
DEBUG(endl);
 
  116     Evt* 
event = inputFile.next();
 
  118     JTimeRange time_range(JTimeRange::DEFAULT_RANGE);
 
  126         iter_swap(i, --__end);
 
  130         time_range.include(
getTime(*i));
 
  136     event->mc_hits.erase(__end, event->mc_hits.end());
 
  138     if (time_range.is_valid())
 
  139       time_range.add(period);
 
  148     for (JDetector::const_iterator module = detector.begin(); module != detector.end(); ++module) {
 
  150       buffer.reset(module->size());
 
  152       modk40.generateHits(*module, time_range, buffer);
 
  154       for (
unsigned int pmt = 0; pmt != buffer.size(); ++pmt) {
 
  156         const JModuleData::value_type& frame = buffer[pmt];
 
  158         for (JModuleData::value_type::const_iterator hit = frame.begin(); hit != frame.end(); ++hit) {
 
  160           event->mc_hits.push_back(JHit_t(event->mc_hits.size() + 1,
 
  161                                           module->getPMT(pmt).getID(),