CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2/src/OnlineDB/EcalCondDB/interface/LMFIOV.h

Go to the documentation of this file.
00001 #ifndef LMFIOV_H
00002 #define LMFIOV_H
00003 
00004 /*
00005  Last updated by  Giovanni.Organtini@roma1.infn.it 2010
00006  */
00007 
00008 #include <string>
00009 #include <stdexcept>
00010 
00011 #include "OnlineDB/EcalCondDB/interface/LMFUnique.h"
00012 #include "OnlineDB/EcalCondDB/interface/EcalDBConnection.h"
00013 
00017 class LMFIOV : public LMFUnique {
00018  public:
00019   friend class EcalCondDBInterface; // need permission to write
00020 
00021   LMFIOV();
00022   LMFIOV(EcalDBConnection *c);
00023   LMFIOV(const oracle::occi::Environment* env, 
00024          const oracle::occi::Connection* conn);
00025   ~LMFIOV();
00026 
00027   LMFIOV& setStart(const Tm &start);
00028   LMFIOV& setStop(const Tm &stop);
00029   LMFIOV& setIOV(const Tm &start, const Tm &stop);
00030   LMFIOV& setVmin(int vmin);
00031   LMFIOV& setVmax(int vmax);
00032   LMFIOV& setVersions(int vmin, int vmax);
00033 
00034   Tm getStart() const;
00035   Tm getStop() const;
00036   int getVmin() const;
00037   int getVmax() const;
00038 
00039   void dump() const;
00040 
00041  private:
00042   // Methods from LMFUnique
00043   std::string writeDBSql(Statement *stmt);
00044   std::string fetchIdSql(Statement *stmt); 
00045   //  std::string fetchAllSql(Statement *stmt) const;
00046   std::string setByIDSql(Statement *stmt,
00047                          int id);
00048   
00049   void getParameters(ResultSet *rset);
00050   void fetchParentIDs() {}
00051   LMFUnique * createObject() const;
00052   
00053   Tm m_iov_start;
00054   Tm m_iov_stop;
00055   int m_vmin;
00056   int m_vmax;
00057 
00058 };
00059 
00060 #endif