Jpp  17.3.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 427 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 435 of file JDataWriter.cc.

436  {
437  while (!this->empty() && this->begin()->first < run) {
438  this->erase(this->begin());
439  }
440  }
void run()
Run as run control client following command messages via JNET::JControlHost.
Definition: JDAQClient.hh:662
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 448 of file JDataWriter.cc.

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

Read trigger parameters.

Parameters
datadata
sizesize

Definition at line 461 of file JDataWriter.cc.

462  {
463  using namespace std;
464  using namespace JPP;
465 
466 
467  const string buffer(data, size);
468 
469  istringstream in(buffer);
470 
471  int run = -1;
473 
474  in >> run;
475 
476  if (!in) {
477  THROW(JIOException, "Error reading run number for trigger parameters " << run << endl << in.rdbuf());
478  }
479 
480  in >> parameters;
481 
482  in.clear(std::ios::eofbit);
483 
484  if (!in) {
485  THROW(JIOException, "Error reading trigger parameters " << in.rdbuf());
486  }
487 
488  JValue_t& value = (*this)[run];
489 
490  if (value.count == 0) {
491  value.parameters = parameters;
492  }
493 
494  value.count += 1;
495 
496  if (!parameters.equals(value.parameters)) {
497  THROW(JException, "Inconsistent trigger parameters " << endl << value.parameters << " != " << endl << parameters);
498  }
499  }
General exception.
Definition: JException.hh:23
std::vector< char > buffer
internal buffer for incoming data
Definition: JDataWriter.cc:403
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:696
*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:662
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:324
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 507 of file JDataWriter.cc.

508  {
509  if (file != NULL) {
510 
511  iterator p = this->find(run);
512 
513  if (p != this->end() && p->second.count != 0 && !p->second.is_written) {
514 
515  file->WriteTObject(&p->second.parameters);
516 
517  p->second.is_written = true;
518  }
519  }
520  }
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:662

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