CMS 3D CMS Logo

MODRunIOV.h
Go to the documentation of this file.
1 #ifndef MODRUNIOV_H
2 #define MODRUNIOV_H
3 
4 #include <stdexcept>
5 #include <iostream>
6 
10 
11 typedef int subrun_t;
12 
13 class MODRunIOV : public IIOV {
14 public:
15  friend class EcalCondDBInterface;
16 
17  MODRunIOV();
18  ~MODRunIOV() override;
19 
20  void setID(int id);
21  int getID() { return m_ID; };
22 
23  // Methods for user data
24  void setRunIOV(const RunIOV& iov);
25  RunIOV getRunIOV();
26  void setSubRunNumber(subrun_t subrun);
27  run_t getSubRunNumber() const;
28  void setSubRunStart(const Tm& start);
29  Tm getSubRunStart() const;
30  void setSubRunEnd(const Tm& end);
31  Tm getSubRunEnd() const;
32 
33  // Methods from IUniqueDBObject
34  int fetchID() noexcept(false) override;
35  void setByID(int id) noexcept(false) override;
36 
37  // Operators
38  inline bool operator==(const MODRunIOV& m) const {
39  return (m_runIOV == m.m_runIOV && m_subRunNum == m.m_subRunNum && m_subRunStart == m.m_subRunStart &&
40  m_subRunEnd == m.m_subRunEnd);
41  }
42 
43  inline bool operator!=(const MODRunIOV& m) const { return !(*this == m); }
44 
45 private:
46  // User data for this IOV
51 
52  int writeDB() noexcept(false);
53  void fetchParentIDs(int* runIOVID) noexcept(false);
54 
55  void setByRun(RunIOV* runiov, subrun_t subrun) noexcept(false);
56 };
57 
58 #endif
EcalCondDBInterface
Definition: EcalCondDBInterface.h:37
RunIOV
Definition: RunIOV.h:13
start
Definition: start.py:1
IUniqueDBObject::m_ID
int m_ID
Definition: IUniqueDBObject.h:18
funct::false
false
Definition: Factorize.h:34
subrun_t
int subrun_t
Definition: MODRunIOV.h:11
MODRunIOV::operator!=
bool operator!=(const MODRunIOV &m) const
Definition: MODRunIOV.h:43
run_t
int run_t
Definition: CaliIOV.h:11
MODRunIOV::getSubRunStart
Tm getSubRunStart() const
Definition: MODRunIOV.cc:50
RunIOV.h
MODRunIOV::m_subRunStart
Tm m_subRunStart
Definition: MODRunIOV.h:49
MODRunIOV::getID
int getID()
Definition: MODRunIOV.h:21
watchdog.const
const
Definition: watchdog.py:83
end
#define end
Definition: vmac.h:39
Utilities.operator
operator
Definition: Utilities.py:24
MODRunIOV::setByRun
void setByRun(RunIOV *runiov, subrun_t subrun) noexcept(false)
Definition: MODRunIOV.cc:207
MODRunIOV::fetchID
int fetchID() noexcept(false) override
Definition: MODRunIOV.cc:61
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:72
IIOV
Definition: IIOV.h:11
MODRunIOV::setByID
void setByID(int id) noexcept(false) override
Definition: MODRunIOV.cc:113
Tm
Definition: Tm.h:13
MODRunIOV::m_subRunEnd
Tm m_subRunEnd
Definition: MODRunIOV.h:50
IIOV.h
Tm.h
MODRunIOV::setID
void setID(int id)
Definition: MODRunIOV.cc:23
MODRunIOV::setSubRunNumber
void setSubRunNumber(subrun_t subrun)
Definition: MODRunIOV.cc:34
MODRunIOV::fetchParentIDs
void fetchParentIDs(int *runIOVID) noexcept(false)
Definition: MODRunIOV.cc:197
MODRunIOV::setSubRunStart
void setSubRunStart(const Tm &start)
Definition: MODRunIOV.cc:43
MODRunIOV::m_subRunNum
subrun_t m_subRunNum
Definition: MODRunIOV.h:48
MODRunIOV
Definition: MODRunIOV.h:13
MODRunIOV::setRunIOV
void setRunIOV(const RunIOV &iov)
Definition: MODRunIOV.cc:25
MODRunIOV::getSubRunNumber
run_t getSubRunNumber() const
Definition: MODRunIOV.cc:41
MODRunIOV::~MODRunIOV
~MODRunIOV() override
Definition: MODRunIOV.cc:21
MODRunIOV::writeDB
int writeDB() noexcept(false)
Definition: MODRunIOV.cc:148
MODRunIOV::getSubRunEnd
Tm getSubRunEnd() const
Definition: MODRunIOV.cc:59
MODRunIOV::m_runIOV
RunIOV m_runIOV
Definition: MODRunIOV.h:47
MODRunIOV::setSubRunEnd
void setSubRunEnd(const Tm &end)
Definition: MODRunIOV.cc:52
MODRunIOV::MODRunIOV
MODRunIOV()
Definition: MODRunIOV.cc:12
MODRunIOV::getRunIOV
RunIOV getRunIOV()
Definition: MODRunIOV.cc:32