Back to home page

Project CMSSW displayed by LXR

 
 

    


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

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