10 startEventID_(0
U, 0
U,
EventID::maxEventNumber()),
11 endEventID_(0
U, 0
U,
EventID::maxEventNumber()) {}
20 startEventID_(
startRun, startLumi, startEvent != 0 ? startEvent :
EventID::maxEventNumber()),
21 endEventID_(
endRun, endLumi, endEvent != 0 ? endEvent :
EventID::maxEventNumber()) {
28 if (
r.startLumi() == 0) {
29 oStream <<
"'" <<
r.startRun() <<
":" <<
r.startEvent() <<
"-" <<
r.endRun() <<
":" <<
r.endEvent() <<
"'";
31 oStream <<
"'" <<
r.startRun() <<
":" <<
r.startLumi() <<
":" <<
r.startEvent() <<
"-" <<
r.endRun() <<
":"
32 <<
r.endLumi() <<
":" <<
r.endEvent() <<
"'";
38 if (
lh.startLumi() == 0) {
58 if ((
lh.startLumi() == 0) != (rh.
startLumi() == 0)) {
59 return lh.startLumi() == 0;
75 bool mergeSpecial(EventRange&
lh, EventRange& rh) {
77 if ((
lh.startLumi() == 0) != (rh.startLumi() == 0)) {
81 EventID begin =
min(
lh.startEventID(), rh.startEventID());
82 EventID
end =
max(
lh.endEventID(), rh.endEventID());
83 rh =
lh = EventRange(begin,
end);
89 bool sortByStartEventIDSpecial(EventRange
const&
lh, EventRange
const& rh) {
91 if ((
lh.startLumi() == 0) != (rh.startLumi() == 0)) {
92 return lh.startLumi() == 0;
94 return lh.startEventID() < rh.startEventID();
103 std::vector<EventRange>::iterator iprev =
i - 1;
104 if (mergeSpecial(*iprev, *
i)) {