![]() |
![]() |
00001 #ifndef RUNLIST_H 00002 #define RUNLIST_H 00003 00004 #include <stdexcept> 00005 #include <iostream> 00006 00007 #include "OnlineDB/EcalCondDB/interface/IIOV.h" 00008 #include "OnlineDB/EcalCondDB/interface/RunTag.h" 00009 #include "OnlineDB/EcalCondDB/interface/Tm.h" 00010 #include "OnlineDB/EcalCondDB/interface/RunIOV.h" 00011 #include "OnlineDB/EcalCondDB/interface/LocationDef.h" 00012 #include "OnlineDB/EcalCondDB/interface/RunTypeDef.h" 00013 00014 typedef int run_t; 00015 00016 class RunList : public IDBObject { 00017 public: 00018 friend class EcalCondDBInterface; 00019 00020 RunList(); 00021 ~RunList(); 00022 00023 // Methods for user data 00024 00025 void setRunTag(RunTag tag); 00026 RunTag getRunTag() const; 00027 std::vector<RunIOV> getRuns() ; 00028 00029 // Methods from IUniqueDBObject 00030 void fetchRuns() throw(std::runtime_error); 00031 void fetchRuns(int min_run, int max_run) throw(std::runtime_error); 00032 void fetchLastNRuns( int max_run, int n_runs ) throw(std::runtime_error); 00033 void fetchRunsByLocation (int min_run, int max_run, const LocationDef locDef ) throw(std::runtime_error); 00034 void fetchGlobalRunsByLocation(int min_run, int max_run, const LocationDef locDef ) throw(std::runtime_error); 00035 00036 00037 private: 00038 // User data for this IOV 00039 std::vector<RunIOV> m_vec_runiov; 00040 RunTag m_runTag; 00041 00042 }; 00043 00044 #endif