Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:22:55

0001 #ifndef MONRUNLIST_H
0002 #define MONRUNLIST_H
0003 
0004 #include <stdexcept>
0005 #include <iostream>
0006 
0007 #include "OnlineDB/EcalCondDB/interface/IIOV.h"
0008 #include "OnlineDB/EcalCondDB/interface/MonRunTag.h"
0009 #include "OnlineDB/EcalCondDB/interface/RunTag.h"
0010 #include "OnlineDB/EcalCondDB/interface/Tm.h"
0011 #include "OnlineDB/EcalCondDB/interface/RunIOV.h"
0012 #include "OnlineDB/EcalCondDB/interface/MonRunIOV.h"
0013 
0014 typedef int run_t;
0015 
0016 class MonRunList : public IDBObject {
0017 public:
0018   friend class EcalCondDBInterface;
0019 
0020   MonRunList();
0021   ~MonRunList() override;
0022 
0023   // Methods for user data
0024 
0025   void setRunTag(const RunTag& tag);
0026   RunTag getRunTag() const;
0027   void setMonRunTag(const MonRunTag& tag);
0028   MonRunTag getMonRunTag() const;
0029   std::vector<MonRunIOV> getRuns();
0030 
0031   // Methods from IUniqueDBObject
0032   void fetchRuns() noexcept(false);
0033   void fetchRuns(int min_run, int max_run) noexcept(false);
0034   void fetchLastNRuns(int max_run, int n_runs) noexcept(false);
0035 
0036 private:
0037   // User data for this IOV
0038   std::vector<MonRunIOV> m_vec_monruniov;
0039   RunTag m_runTag;
0040   MonRunTag m_monrunTag;
0041 };
0042 
0043 #endif