Go to the documentation of this file.
34 static const char DOT =
'.';
75 if (i0 != -1) { push_back(i0); }
76 if (i1 != -1) { push_back(i1); }
77 if (i2 != -1) { push_back(i2); }
78 if (i3 != -1) { push_back(i3); }
79 if (i4 != -1) { push_back(i4); }
80 if (i5 != -1) { push_back(i5); }
81 if (i6 != -1) { push_back(i6); }
82 if (i7 != -1) { push_back(i7); }
83 if (i8 != -1) { push_back(i8); }
84 if (i9 != -1) { push_back(i9); }
93 JPBS(
const std::string& input)
95 std::istringstream is(input);
108 return static_cast<const JPBS&>(*
this);
119 return !this->empty();
131 if (this->size() == pbs.size()) {
133 for (const_iterator p = this->begin(), q = pbs.begin(); p != this->end(); ++p, ++q) {
155 for (const_iterator p = first.begin(), q = second.begin(); p != first.end() && q != second.end(); ++p, ++q) {
161 return first.size() < second.size();
182 object.push_back(pbs);
185 if (in.ignore() && in >> pbs)
186 object.push_back(pbs);
188 in.setstate(ios::failbit);
193 in.setstate(ios::failbit);
212 if (!
object.empty()) {
214 const_iterator i =
object.begin();
218 while (++i !=
object.end()) {
237 static const JPBS PMT (3, 4, 2, 3);
238 static const JPBS CLB (3, 4, 3, 2);
241 static const JPBS FPGA (3, 4, 3, 2, 2);
friend std::ostream & operator<<(std::ostream &out, const JPBS &object)
Write PBS to output stream.
static const JPBS FPGA(3, 4, 3, 2, 2)
static const JPBS H_SENSOR(3, 4, 3, 2, 1, 2)
static const char SEPARATOR
Separator between PBS and variant.
static const JPBS NANO_BEACON(3, 4, 3, 7)
Template definition of auxiliary base class for comparison of data structures.
static const JPBS DETECTION_UNIT(3)
static const JPBS POWER_BOARD(3, 4, 3, 5)
static const char DOT
Separator between PBS values.
static const JPBS T_SENSOR(3, 4, 3, 2, 1, 1)
bool equals(const JPBS &pbs) const
Equality.
JDAQPMTIdentifier PMT
Command line options.
Auxiliary classes and methods for database I/O.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
bool is_valid() const
Check validity.
static const JPBS DOM(3, 4)
JPBS(const std::string &input)
Constructor.
friend bool operator<(const JPBS &first, const JPBS &second)
Less-than operator.
Product breakdown structure (PBS).
JPBS(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::istream & operator>>(std::istream &in, JPBS &object)
Read PBS from input stream.
static const JPBS DETECTOR(0)
Fixed PBS.
static const JPBS BASE_CONTAINER(3, 2, 2)
static const JPBS CLB(3, 4, 3, 2)
const JPBS & getPBS() const
Get PBS.
JPBS()
Default constructor.
static const JPBS BASE(3, 2)