46 using namespace KM3NETDAQ;
56 JParser<> zap(
"Example program to histogram timeslice data.");
59 zap[
'n'] =
make_field(numberOfEvents) = JLimit::max();
60 zap[
'C'] =
make_field(selector) = getROOTClassSelection<JDAQTimesliceTypes_t>();
66 catch(
const exception& error) {
67 FATAL(error.what() << endl);
76 STATUS(
"event: " << setw(10) << counter <<
'\r');
DEBUG(endl);
80 for (JDAQTimeslice::const_iterator frame = timeslice->begin(); frame != timeslice->end(); ++frame) {
86 const int pmt = (*frame)[error->pos].getPMT();
89 << setw(10) << frame->getModuleID() <<
'.' << setw(2) << setfill(
'0') << pmt << setfill(
' ') <<
' '
90 << setw(6) << error->pos <<
'/' << setw(6) << frame->size() <<
' '
91 << setw(2) << error->type <<
' ';
94 cerr << setw(1) << frame->testHighRateVeto(pmt)
95 << setw(1) << frame->testFIFOStatus (pmt) <<
' '
96 << setw(2) << frame->getUDPNumberOfReceivedPackets() <<
'/'
97 << setw(2) << frame->getUDPMaximalSequenceNumber();
101 deque<JDAQHit> buffer;
103 for (
int i = error->pos - 1,
n = 0; i >= 0 &&
n <=
N; --i) {
104 if ((*frame)[i].getPMT() == (*frame)[error->pos].getPMT()) {
105 buffer.push_front((*frame)[i]);
110 for (deque<JDAQHit>::const_iterator i = buffer.begin(); i != buffer.end(); ++i) {
111 print(cerr, *i); cerr << endl;
114 print(cerr, (*frame)[error->pos]);
116 if (error->type != JChecksum::TIME_t)
117 cerr <<
" ***" << endl;
119 cerr <<
" <<<" << endl;
121 for (
int i = error->pos + 1,
n = 0; i < frame->size() &&
n <=
N; ++i) {
122 if ((*frame)[i].getPMT() == (*frame)[error->pos].getPMT()) {
123 print(cerr, (*frame)[i]); cerr << endl;
Utility class to parse command line options.
Auxiliary class to select ROOT class based on class name.
Long64_t counter_type
Type definition for counter.
result_type::const_iterator const_iterator
Auxiliary class for multiplexing object iterators.
static const JChecksum checksum
Function object to perform check-sum of raw data.
Auxiliary class for defining the range of iterations of objects.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
General purpose class for object reading from a list of file names.
alias put_queue eval echo n
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
then usage $script[input file[working directory[option]]] nWhere option can be N
#define DEBUG(A)
Message macros.
const result_type & get(const JDAQSuperFrame &frame) const
Check sum.