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