34         if (fabs(first.
getToA() - second.
getToA()) <= waveform_s)
 
   54 int main(
int argc, 
char **argv)
 
   60   JLimit_t&               numberOfEvents = inputFile.getLimit();
 
   66     JParser<> zap(
"Example program to monitor acoustic events.");
 
   68     zap[
'f'] = 
make_field(inputFile,           
"output of JAcousticEventBuilder[.sh]");
 
   69     zap[
'n'] = 
make_field(numberOfEvents)       = JLimit::max();
 
   70     zap[
'p'] = 
make_field(compare.waveform_s,  
"wavefrom duration [s]")                =  5.0e-3;
 
   71     zap[
'D'] = 
make_field(Tmax_s,              
"time difference between events [s]")   = 20.0e-3;
 
   76   catch(
const exception &error) {
 
   77     FATAL(error.what() << endl);
 
   93     for (JTreeScanner_t::iterator 
p1 = in.begin(); 
p1 != in.end() && events != inputFile.getLimit(); ++
p1, ++events) {
 
   95       STATUS(
"event " << setw(8) << events << 
'\r'); 
DEBUG(endl);
 
   97       if (!
p1->empty() && !p0->empty()) {
 
   99         if (
p1->begin()->getToE() < p0->rbegin()->getToE() + Tmax_s) {
 
  106                  << 
FIXED(20,6) << p0-> begin()->getToE() << 
' ' 
  107                  << 
FIXED(20,6) << p0->rbegin()->getToE() << endl
 
  108                  << 
FIXED(20,6) << 
p1-> begin()->getToE() << 
' ' 
  109                  << 
FIXED(20,6) << 
p1->rbegin()->getToE() << endl;
 
  114           for (
int i = 0; i != 2; ++i) {
 
  115             sort(evt[i].begin(), evt[i].end(), compare);
 
  120           for (JEvent::const_iterator
 
  122                  i1 = evt[1].begin(); i0 != evt[0].end() && i1 != evt[1].end(); ) {
 
  124             if      (compare(*i0, *i1))
 
  126             else if (compare(*i1, *i0))
 
  135                 cout << setw(2)     << p0->
getID()         << 
' ' 
  136                      << setw(10)    << i0->getID()         << 
' ' 
  137                      << 
FIXED(20,6) << i0->getToA()        << 
' ' 
  138                      << 
FIXED( 8,0) << i0->getQ()          << 
' ';
 
  140                 cout << setw(2)     << 
p1->getID()         << 
' ' 
  141                      << setw(10)    << i1->getID()         << 
' ' 
  142                      << 
FIXED(20,6) << i1->getToA()        << 
' ' 
  143                      << 
FIXED( 8,0) << i1->getQ()          << 
' ';
 
  145                 cout << 
FIXED( 9,6) << (i1->getToA() - i0->getToA()) << endl;
 
  148               if      (i0->getToA() < i1->getToA())
 
  150               else if (i1->getToA() < i0->getToA())
 
  172   cout << 
"Number of errors / events: " << Q.
getCount() << 
" / " << events << endl;
 
int main(int argc, char **argv)
 
ROOT TTree parameter settings.
 
General purpose messaging.
 
#define DEBUG(A)
Message macros.
 
Scanning of objects from multiple files according a format that follows from the extension of each fi...
 
Utility class to parse command line options.
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
 
I/O formatting auxiliaries.
 
Utility class to parse command line options.
 
Base class for JTreeScanner.
 
Template definition for direct access of elements in ROOT TChain.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
Long64_t counter_type
Type definition for counter.
 
Auxiliary data structure for floating point format specification.
 
int getID() const
Get emitter identifier.
 
const int getDetectorID() const
Get detector identifier.
 
double getToA() const
Get calibrated time of arrival.
 
int getID() const
Get identifier.
 
Auxiliary class for defining the range of iterations of objects.