1 #ifndef __JDB__JPBS_T__
2 #define __JDB__JPBS_T__
33 static const char DOT =
'.';
70 if (i0 >= 0) { push_back(i0); }
else {
return; }
71 if (i1 >= 0) { push_back(i1); }
else {
return; }
72 if (i2 >= 0) { push_back(i2); }
else {
return; }
73 if (i3 >= 0) { push_back(i3); }
else {
return; }
74 if (i4 >= 0) { push_back(i4); }
else {
return; }
75 if (i5 >= 0) { push_back(i5); }
else {
return; }
76 if (i6 >= 0) { push_back(i6); }
else {
return; }
77 if (i7 >= 0) { push_back(i7); }
else {
return; }
78 if (i8 >= 0) { push_back(i8); }
else {
return; }
79 if (i9 >= 0) { push_back(i9); }
else {
return; }
90 std::istringstream is(input);
103 return static_cast<const JPBS_t&
>(*this);
114 return !this->empty();
127 if (first.size() == second.size()) {
129 for (const_iterator p = first.begin(), q = second.begin(); p != first.end(); ++p, ++q) {
151 for (const_iterator p = first.begin(), q = second.begin(); p != first.end() && q != second.end(); ++p, ++q) {
157 return first.size() < second.size();
178 object.push_back(pbs);
181 if (in.ignore() && in >> pbs)
182 object.push_back(pbs);
184 in.setstate(ios::failbit);
189 in.setstate(ios::failbit);
210 if (!
object.empty()) {
212 const_iterator i =
object.begin();
216 while (++i !=
object.end()) {
221 return out << os.str();
JDAQPMTIdentifier PMT
Command line options.
static const JPBS_t DOM(3, 4)
PBS of optical module
static const JPBS_t H_SENSOR(3, 4, 3, 2, 1, 2)
PBS of magnetic field sensor
static const JPBS_t HYDROPHONE(4, 5)
PBS of hydrophone
static const JPBS_t CLB(3, 4, 3, 2)
PBS of central-logic board
static const JPBS_t FPGA(3, 4, 3, 2, 2)
PBS of FPGA
static const JPBS_t BASE(3, 2)
PBS of detection unit base
static const JPBS_t DETECTION_UNIT(3)
PBS of detection unit
static const JPBS_t ACOUSTIC_SENSOR(3, 4, 3, 6, 2)
PBS of piezo sensor
static const JPBS_t NANO_BEACON(3, 4, 3, 7)
PBS of nano-beacon
static const JPBS_t POWER_BOARD(3, 4, 3, 5)
PBS of power board
static const JPBS_t T_SENSOR(3, 4, 3, 2, 1, 1)
PBS of temperature sensor
static const JPBS_t DETECTOR(0)
PBS of detector
static const JPBS_t AHRS(3, 4, 3, 4)
PBS of compass
static const JPBS_t BASE_CONTAINER(3, 2, 2)
PBS of detection unit base container
Auxiliary classes and methods for database I/O.
bool is_base_module(const JPBS_t &pbs)
Test if given PBS corresponds to a base module.
bool is_string(const JPBS_t &pbs)
Test if given PBS corresponds to a string.
bool is_detector(const JPBS_t &pbs)
Test if given PBS corresponds to a detector.
bool is_optical_module(const JPBS_t &pbs)
Test if given PBS corresponds to a optical module.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Product breakdown structure (PBS).
JPBS_t(const int i0, const int i1=-1, const int i2=-1, const int i3=-1, const int i4=-1, const int i5=-1, const int i6=-1, const int i7=-1, const int i8=-1, const int i9=-1)
Constructor.
friend std::ostream & operator<<(std::ostream &out, const JPBS_t &object)
Write PBS to output stream.
friend std::istream & operator>>(std::istream &in, JPBS_t &object)
Read PBS from input stream.
friend bool operator==(const JPBS_t &first, const JPBS_t &second)
Equality operator.
JPBS_t()
Default constructor.
friend bool operator<(const JPBS_t &first, const JPBS_t &second)
Less-than operator.
static const char DOT
Separator between PBS values.
const JPBS_t & getPBS() const
Get PBS.
JPBS_t(const std::string &input)
Constructor.
bool is_valid() const
Check validity.