Jpp  18.3.1
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 434 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 442 of file JDataWriter.cc.

443  {
444  while (!this->empty() && this->begin()->first < run) {
445  this->erase(this->begin());
446  }
447  }
void run()
Run as run control client following command messages via JNET::JControlHost.
Definition: JDAQClient.hh:690
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 455 of file JDataWriter.cc.

456  {
457  const_iterator p = this->find(run);
458 
459  return p != this->end() && p->second.is_written;
460  }
void run()
Run as run control client following command messages via JNET::JControlHost.
Definition: JDAQClient.hh:690
void KM3NETDAQ::JDataWriter::JRunDB::read ( const char *const  data,
const size_t  size 
)
inline

Read trigger parameters.

Parameters
datadata
sizesize

Definition at line 468 of file JDataWriter.cc.

469  {
470  using namespace std;
471  using namespace JPP;
472 
473 
474  const string buffer(data, size);
475 
476  istringstream in(buffer);
477 
478  int run = -1;
480 
481  in >> run;
482 
483  if (!in) {
484  THROW(JIOException, "Error reading run number for trigger parameters " << run << endl << in.rdbuf());
485  }
486 
487  in >> parameters;
488 
489  in.clear(std::ios::eofbit);
490 
491  if (!in) {
492  THROW(JIOException, "Error reading trigger parameters " << in.rdbuf());
493  }
494 
495  JValue_t& value = (*this)[run];
496 
497  if (value.count == 0) {
498  value.parameters = parameters;
499  }
500 
501  value.count += 1;
502 
503  if (!parameters.equals(value.parameters)) {
504  THROW(JException, "Inconsistent trigger parameters " << endl << value.parameters << " != " << endl << parameters);
505  }
506  }
General exception.
Definition: JException.hh:24
std::vector< char > buffer
internal buffer for incoming data
Definition: JDataWriter.cc:410
#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:690
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:48
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 514 of file JDataWriter.cc.

515  {
516  if (file != NULL) {
517 
518  iterator p = this->find(run);
519 
520  if (p != this->end() && p->second.count != 0 && !p->second.is_written) {
521 
522  file->WriteTObject(&p->second.parameters);
523 
524  p->second.is_written = true;
525  }
526  }
527  }
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:690

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