105   using namespace KM3NETDAQ;
 
  121     JParser<> zap(
"Example program to search for spurious hits.");
 
  123     zap[
'f'] = 
make_field(inputFile,         
"input file).");
 
  124     zap[
'n'] = 
make_field(numberOfEvents)    = JLimit::max(); 
 
  125     zap[
'C'] = 
make_field(selector,          
"timeslice selector, e.g. JDAQTimeslice.")   = getROOTClassSelection<JDAQTimesliceTypes_t>();
 
  126     zap[
'T'] = 
make_field(ToT_ns,            
"time-over-threshold range [ns]");
 
  127     zap[
'p'] = 
make_field(is_periodic,       
"periodicity");
 
  128     zap[
'M'] = 
make_field(numberOfHits,      
"minimum number of hits for periodicity");
 
  129     zap[
'N'] = 
make_field(numberOfColumns,   
"number of columns for printing")            = 5;
 
  135   catch(
const exception& error) {
 
  136     FATAL(error.what() << endl);
 
  144   for (
counter_type counter = 0; 
in.hasNext() && counter != inputFile.getLimit(); ++counter) {
 
  146     STATUS(
"event: " << setw(10) << counter << 
'\r'); 
DEBUG(endl);
 
  150     for (JDAQTimeslice::const_iterator frame = timeslice->begin(); frame != timeslice->end(); ++frame) {
 
  157       buffer2D_type buffer(numeric_limits<JDAQHit::JPMT_t>::max(), buffer1D_type());
 
  160         buffer[hit->getPMT()].push_back(*hit);
 
  169         if (!buffer[pmt].empty()) {
 
  173           for (buffer1D_type::iterator i = buffer[pmt].begin(); i != buffer[pmt].end(); ) {
 
  175             if (ToT_ns(i->getToT())) {
 
  177               buffer1D_type::iterator p = i;
 
  179               for (++p; p != buffer[pmt].end() && ToT_ns(p->getToT()) && is_periodic(*i, *p); ++p) {}
 
  181               if (
distance(i, p) >= numberOfHits) {
 
  182                 top[id].push_back(*i);
 
  200           if (veto.count(i->first) == 0) {
 
  202             const int pmt = i->first.getPMTAddress();
 
  205                  << setw(9) << i->first.getModuleID() << 
'.' << 
FILL(2,
'0') << i->first.getPMTAddress()   << 
FILL() << 
' ' 
  206                  << setw(1) << frame->testHighRateVeto(pmt) 
 
  207                  << setw(1) << frame->testFIFOStatus  (pmt)  << endl;
 
  215               const bool has_pmt  =  (hit->getPMT() == i->first.getPMTAddress());
 
  216               const bool has_hit  =  (find(i->second.begin(), i->second.end(), *hit) != i->second.end());
 
  224                 cout << setw(10) << hit->getT() << 
' ' << setw(3) << (int) hit->getToT() << 
' ' << 
RESET;
 
  226                 if ((++count % numberOfColumns) == 0) {
 
  235             cout << endl << 
"press any key to continue> " << flush;
 
Utility class to parse command line options. 
 
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance. 
 
Auxiliary class to select ROOT class based on class name. 
 
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
 
Long64_t counter_type
Type definition for counter. 
 
Auxiliary class for multiplexing object iterators. 
 
int getRunNumber() const 
Get run number. 
 
int getFrameIndex() const 
Get frame index. 
 
Auxiliary class for defining the range of iterations of objects. 
 
char get()
Get single character. 
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
Enable unbuffered terminal input. 
 
Auxiliary data structure for sequence of same character. 
 
General purpose class for object reading from a list of file names. 
 
then usage $script< input_file >< detector_file > fi set_variable OUTPUT_DIR set_variable SELECTOR JDAQTimesliceL1 set_variable DEBUG case set_variable DEBUG
 
const JLimit & getLimit() const 
Get limit. 
 
static const int NUMBER_OF_PMTS
Total number of PMTs in module. 
 
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY source JAcoustics sh $DETECTOR_ID CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in