Jpp
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 420 of file JDataWriter.cc.

Member Function Documentation

◆ reset()

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

Remove all entries before given run.

Parameters
runrun number

Definition at line 428 of file JDataWriter.cc.

429  {
430  while (!this->empty() && this->begin()->first < run) {
431  this->erase(this->begin());
432  }
433  }

◆ is_written()

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 441 of file JDataWriter.cc.

442  {
443  const_iterator p = this->find(run);
444 
445  return p != this->end() && p->second.is_written;
446  }

◆ read()

bool KM3NETDAQ::JDataWriter::JRunDB::read ( std::istream &  in)
inline

Read trigger parameters.

Parameters
ininput stream
Returns
true if OK; else not

Definition at line 454 of file JDataWriter.cc.

455  {
456  int run = -1;
457  JTriggerParameters parameters;
458 
459  in >> run >> parameters;
460 
461  in.clear(std::ios::eofbit);
462 
463  if (in && run != -1) {
464 
465  JValue_t& value = (*this)[run];
466 
467  if (value.count == 0) {
468  value.parameters = parameters;
469  }
470 
471  value.count += 1;
472 
473  return parameters.equals(value.parameters);
474  }
475 
476  return false;
477  }

◆ write()

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 485 of file JDataWriter.cc.

486  {
487  if (file != NULL) {
488 
489  iterator p = this->find(run);
490 
491  if (p != this->end() && p->second.count != 0 && !p->second.is_written) {
492 
493  file->WriteTObject(&p->second.parameters);
494 
495  p->second.is_written = true;
496  }
497  }
498  }

The documentation for this struct was generated from the following file:
std::iterator
Definition: JSTDTypes.hh:18
JTRIGGER::JTriggerParameters
Data structure for all trigger parameters.
Definition: JTriggerParameters.hh:116
KM3NETDAQ::JDAQClient::run
void run()
Run as run control client following command messages via JNET::JControlHost.
Definition: JDAQClient.hh:661
JTRIGGER::JTriggerParameters::equals
static bool equals(const double R1_Hz, const double R2_Hz)
Test equality for high-rate vetos.
Definition: JTriggerParameters.hh:198