Jpp
 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...
 
bool read (std::istream &in)
 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 419 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 427 of file JDataWriter.cc.

428  {
429  while (!this->empty() && this->begin()->first < run) {
430  this->erase(this->begin());
431  }
432  }
void run()
Run as run control client following command messages via JNET::JControlHost.
Definition: JDAQClient.hh:493
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 440 of file JDataWriter.cc.

441  {
442  const_iterator p = this->find(run);
443 
444  return p != this->end() && p->second.is_written;
445  }
void run()
Run as run control client following command messages via JNET::JControlHost.
Definition: JDAQClient.hh:493
bool KM3NETDAQ::JDataWriter::JRunDB::read ( std::istream &  in)
inline

Read trigger parameters.

Parameters
ininput stream
Returns
true if OK; else not

Definition at line 453 of file JDataWriter.cc.

454  {
455  int run = -1;
456  JTriggerParameters parameters;
457 
458  in >> run >> parameters;
459 
460  in.clear(std::ios::eofbit);
461 
462  if (in && run != -1) {
463 
464  JValue_t& value = (*this)[run];
465 
466  if (value.count == 0) {
467  value.parameters = parameters;
468  }
469 
470  value.count += 1;
471 
472  return parameters.equals(value.parameters);
473  }
474 
475  return false;
476  }
Data structure for all trigger parameters.
void run()
Run as run control client following command messages via JNET::JControlHost.
Definition: JDAQClient.hh:493
bool equals(const JTriggerParameters &parameters) const
Equality.
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 484 of file JDataWriter.cc.

485  {
486  if (file != NULL) {
487 
488  iterator p = this->find(run);
489 
490  if (p != this->end() && p->second.count != 0 && !p->second.is_written) {
491 
492  file->WriteTObject(&p->second.parameters);
493 
494  p->second.is_written = true;
495  }
496  }
497  }
void run()
Run as run control client following command messages via JNET::JControlHost.
Definition: JDAQClient.hh:493

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