1#ifndef __JDB_JDBTOOLKIT__
2#define __JDB_JDBTOOLKIT__
52 for (
JDetectors parameters; rs >> parameters; ) {
53 this->push_back(parameters);
75 const_iterator p = find_if(this->begin(), this->end(), make_predicate(&
JDetectors::OID, detid));
101 if (p != this->end())
116 return (*
this)[detid].SERIALNUMBER;
128 return (*
this)[id].OID;
143 if (is_integer(detid))
144 return to_value<int>(detid);
146 return (*
this)(detid);
161 if (is_integer(detid))
162 return (*
this)(to_value<int>(detid));
188 for (
JCLBID parameters; rs >> parameters; ) {
189 this->push_back(parameters);
211 const_iterator p = find_if(this->begin(), this->end(), make_predicate(&
JCLBID::CLBUPI, upi));
213 if (p != this->end())
235 const_iterator p = find_if(this->begin(), this->end(), make_predicate(&
JCLBID::CLBID,
id));
237 if (p != this->end())
255 public std::map<JPBS_t, std::map<int, JUPI_t> >
266 for (
JUPI parameters; rs >> parameters; ) {
268 const JUPI_t upi(parameters.PBS,
271 parameters.SERIALNUMBER);
273 (*this)[pbs][parameters.SERIALNUMBER] = upi;
289 const_iterator p = this->find(pbs);
291 if (p == this->end()) {
298 if (p != this->end()) {
300 typename mapped_type::const_iterator q = p->second.find(number);
302 if (q != p->second.end()) {
339 template<
class JHelper_t,
class ...Args>
340 static void initialise(JHelper_t& helper,
const Args& ...args)
342 helper.initialise(args...);
352 template<
class ...Args>
365 template<
class JHelper_t,
class ...Args>
366 static void initialise(JHelper_t& (*pF)(),
const Args& ...args)
368 JHelper_t::helper.initialise(args...);
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
static JDB & get()
Get connection to database.
Auxiliary class for specifying selection of database data.
Exception for accessing a value in a collection that is outside of its range.
Auxiliary classes and methods for database I/O.
JCLBIDHelper & getCLBUPI()
Auxiliary function for helper object initialisation.
const char * getTable()
Get table name.
JDetectorsHelper & getDetector()
Auxiliary function for helper object initialisation.
JUPIHelper & getUPI()
Auxiliary function for helper object initialisation.
JCLBIDHelper & getCLBID()
Auxiliary function for helper object initialisation.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary class for mapping UPI of central-logic board to module identifier.
JUPI_t operator()(const int id)
Get UPI.
int operator()(const JUPI_t &upi)
Get module identifier.
void initialise()
Initialise.
static JCLBIDHelper helper
Helper object.
Auxiliary class for mapping serial number and object identifier of detectors.
std::string operator()(const std::string &detid, const JType< std::string > &type)
Get detector identifier according given data type.
static JDetectorsHelper helper
Helper object.
int operator()(const std::string &detid, const JType< int > &type)
Get serial number according given data type.
std::string operator()(const int id)
Get detector identifier.
const JDetectors & operator[](const int id)
Get detector.
int operator()(const std::string &detid)
Get detector serial number.
void initialise()
Initialise.
const JDetectors & operator[](const std::string &detid)
Get detector.
Product breakdown structure (PBS).
Auxiliary class for mapping PBS and serial number of product to UPI.
JUPI_t operator()(const JPBS_t &pbs, const int number)
Get UPI.
static JUPIHelper helper
Helper object.
void initialise(const JPBS_t &pbs)
Initialise.
Universal product identifier (UPI).
Template definition for getting table specific selector.
Auxiliary class for a type holder.