Jpp  18.1.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
KM3NETDAQ::JDataWriter::JRunDB Struct Reference

Map run number to trigger parameters. More...

Inheritance diagram for KM3NETDAQ::JDataWriter::JRunDB:
std::map< int, JValue_t >

Public Member Functions

void reset (const int run)
 Remove all entries before given run. More...
 
bool is_written (const int run) const
 Check if trigger parameters have been written for given run. More...
 
void read (const char *const data, const size_t size)
 Read trigger parameters. More...
 
void write (const int run, TFile *file)
 Write trigger parameters for given run if not yet done. More...
 

Detailed Description

Map run number to trigger parameters.

Definition at line 429 of file JDataWriter.cc.

Member Function Documentation

void KM3NETDAQ::JDataWriter::JRunDB::reset ( const int  run)
inline

Remove all entries before given run.

Parameters
runrun number

Definition at line 437 of file JDataWriter.cc.

438  {
439  while (!this->empty() && this->begin()->first < run) {
440  this->erase(this->begin());
441  }
442  }
void run()
Run as run control client following command messages via JNET::JControlHost.
Definition: JDAQClient.hh:687
then echo The file $DIR KM3NeT_00000001_00000000 root already please rename or remove it first
bool KM3NETDAQ::JDataWriter::JRunDB::is_written ( const int  run) const
inline

Check if trigger parameters have been written for given run.

Parameters
runrun number
Returns
true if written; else false.

Definition at line 450 of file JDataWriter.cc.

451  {
452  const_iterator p = this->find(run);
453 
454  return p != this->end() && p->second.is_written;
455  }
void run()
Run as run control client following command messages via JNET::JControlHost.
Definition: JDAQClient.hh:687
void KM3NETDAQ::JDataWriter::JRunDB::read ( const char *const  data,
const size_t  size 
)
inline

Read trigger parameters.

Parameters
datadata
sizesize

Definition at line 463 of file JDataWriter.cc.

464  {
465  using namespace std;
466  using namespace JPP;
467 
468 
469  const string buffer(data, size);
470 
471  istringstream in(buffer);
472 
473  int run = -1;
475 
476  in >> run;
477 
478  if (!in) {
479  THROW(JIOException, "Error reading run number for trigger parameters " << run << endl << in.rdbuf());
480  }
481 
482  in >> parameters;
483 
484  in.clear(std::ios::eofbit);
485 
486  if (!in) {
487  THROW(JIOException, "Error reading trigger parameters " << in.rdbuf());
488  }
489 
490  JValue_t& value = (*this)[run];
491 
492  if (value.count == 0) {
493  value.parameters = parameters;
494  }
495 
496  value.count += 1;
497 
498  if (!parameters.equals(value.parameters)) {
499  THROW(JException, "Inconsistent trigger parameters " << endl << value.parameters << " != " << endl << parameters);
500  }
501  }
General exception.
Definition: JException.hh:24
std::vector< char > buffer
internal buffer for incoming data
Definition: JDataWriter.cc:405
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:712
*fatal Wrong number of arguments esac JCookie sh typeset Z DETECTOR typeset Z SOURCE_RUN typeset Z TARGET_RUN set_variable PARAMETERS_FILE $WORKDIR parameters
Definition: diff-Tuna.sh:38
void run()
Run as run control client following command messages via JNET::JControlHost.
Definition: JDAQClient.hh:687
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 JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Definition: JCanberra.sh:46
Exception for I/O.
Definition: JException.hh:340
void KM3NETDAQ::JDataWriter::JRunDB::write ( const int  run,
TFile *  file 
)
inline

Write trigger parameters for given run if not yet done.

Parameters
runrun number
filepointer to ROOT file

Definition at line 509 of file JDataWriter.cc.

510  {
511  if (file != NULL) {
512 
513  iterator p = this->find(run);
514 
515  if (p != this->end() && p->second.count != 0 && !p->second.is_written) {
516 
517  file->WriteTObject(&p->second.parameters);
518 
519  p->second.is_written = true;
520  }
521  }
522  }
then usage $script[< detector identifier >< run range >]< QA/QCfile > nExample script to produce data quality plots nWhen a detector identifier and run range are data are downloaded from the database nand subsequently stored in the given QA QC file
Definition: JDataQuality.sh:19
void run()
Run as run control client following command messages via JNET::JControlHost.
Definition: JDAQClient.hh:687

The documentation for this struct was generated from the following file: