74   using namespace KM3NETDAQ;
 
   76   JTriggeredFileScanner<> inputFile;
 
   84     JParser<> zap(
"Example program to test conversion between Monte Carlo and DAQ times.");
 
   88     zap[
'n'] = 
make_field(numberOfEvents)      = JLimit::max();
 
   94   catch(
const exception &error) {
 
   95     FATAL(error.what() << endl);
 
   99   using namespace KM3NETDAQ;
 
  107     load(detectorFile, detector);
 
  109   catch(
const JException& error) {
 
  113   const JModuleRouter router(detector);
 
  119   while (inputFile.hasNext()) {
 
  121     STATUS(
"event: " << setw(10) << inputFile.getCounter() << 
'\r'); 
DEBUG(endl);
 
  123     JTriggeredFileScanner<>::multi_pointer_type ps = inputFile.next();
 
  126     const Evt*       
event = ps;
 
  130     const JTimeConverter converter(*
event, *tev);
 
  141         DEBUG(
"Hit (MC):  " << setw(5) << i->pmt_id << 
' ' << 
FIXED(6,1) << 
getTime(*i) << endl);
 
  143         mc[i->pmt_id].insert(
getTime(*i));
 
  149       const JModule& module = router.getModule(i->getModuleID());
 
  150       const JPMT&    pmt    = module.getPMT(i->getPMT());
 
  152       DEBUG(
"Hit (DAQ): " << setw(5) << pmt.getID() << 
' ' << 
FIXED(6,1) << converter.getTime(*i, pmt) << endl);
 
  154       data[pmt.getID()].insert(converter.getTime(*i, pmt));
 
  157     int number_of_hits = 0;
 
  159     for (map_type::const_iterator p = mc.begin(), q = data.begin(); ; ++p, ++q) {
 
  161       while (p != mc.end() && q != data.end() && p->first < q->first) { ++p; }
 
  162       while (p != mc.end() && q != data.end() && q->first < p->first) { ++q; }
 
  164       if (p == mc.end() || q == data.end()) {
 
  168       if (p->first == q->first) {
 
  169         number_of_hits += get_count(p->second, q->second, Tmax_ns);
 
  173     NOTICE(
"Number of hits " << setw(5) << number_of_hits << 
'/' << setw(5) << tev->
size<JHit_t>() << endl);
 
  175     ASSERT(number_of_hits != 0);
 
  178   ASSERT(inputFile.getCounter() != 0);
 
Utility class to parse command line options. 
 
bool empty() const 
Check emptyness of hit container. 
 
Structure to store the ToT mean and standard deviation of the hits produced by a nanobeacon in a sour...
 
Auxiliary data structure for floating point format specification. 
 
double getTime(const Hit &hit)
Get true time of hit. 
 
unsigned int size() const 
Get number of hits. 
 
bool is_noise(const Hit &hit)
Verify hit origin. 
 
JLimit JLimit_t
Type definition of limit. 
 
const_iterator< T > end() const 
Get end of data. 
 
#define ASSERT(A)
Assert macro. 
 
const_iterator< T > begin() const 
Get begin of data. 
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
void load(const JString &file_name, JDetector &detector)
Load detector from input file. 
 
const JLimit & getLimit() const 
Get limit. 
 
#define DEBUG(A)
Message macros.