1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
#ifndef DataFormats_Provenance_RunID_h
#define DataFormats_Provenance_RunID_h
// -*- C++ -*-
//
// Package: DataFormats/Provenance
// Class : RunID
//
/**\class edm::RunID
Description: Holds run number
*/
#include <iosfwd>
#include "DataFormats/Provenance/interface/RunLumiEventNumber.h"
namespace edm {
class RunID {
public:
RunID() : run_(invalidRunNumber) {}
explicit RunID(RunNumber_t iRun) : run_(iRun) {}
// ---------- const member functions ---------------------
RunNumber_t run() const { return run_; }
//moving from one RunID to another one
RunID next() const { return RunID(run_ + 1); }
RunID previous() const {
if (run_ != 0) {
return RunID(run_ - 1);
}
return RunID(0);
}
bool operator==(RunID const& iRHS) const { return iRHS.run_ == run_; }
bool operator!=(RunID const& iRHS) const { return !(*this == iRHS); }
bool operator<(RunID const& iRHS) const { return run_ < iRHS.run_; }
bool operator<=(RunID const& iRHS) const { return run_ <= iRHS.run_; }
bool operator>(RunID const& iRHS) const { return run_ > iRHS.run_; }
bool operator>=(RunID const& iRHS) const { return run_ >= iRHS.run_; }
// ---------- static functions ---------------------------
static RunNumber_t maxRunNumber() { return 0xFFFFFFFFU; }
static RunID firstValidRun() { return RunID(1); }
private:
// ---------- member data --------------------------------
RunNumber_t run_;
};
std::ostream& operator<<(std::ostream& oStream, RunID const& iID);
} // namespace edm
#endif
|