CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/CondTools/RPC/interface/RPCFw.h

Go to the documentation of this file.
00001 #ifndef RPC_DB_FW_H
00002 #define RPC_DB_FW_H
00003 
00004 /*
00005  * \class RPCFw
00006  *  Reads data from OMDS and creates conditioning objects
00007  *
00008  *  \author D. Pagano - Dip. Fis. Nucl. e Teo. & INFN Pavia
00009  */
00010 
00011 
00012 
00013 #include "CondTools/RPC/interface/RPCDBCom.h"
00014 #include "CoralBase/TimeStamp.h"
00015 #include "CondTools/RPC/interface/RPCImonSH.h"
00016 #include "CondTools/RPC/interface/RPCVmonSH.h"
00017 #include "CondTools/RPC/interface/RPCStatusSH.h"
00018 #include "CondTools/RPC/interface/RPCTempSH.h"
00019 #include "CondFormats/RPCObjects/interface/RPCObCond.h"
00020 #include "CondTools/RPC/interface/RPCGasSH.h"
00021 #include "CondTools/RPC/interface/RPCIDMapSH.h"
00022 #include "CondFormats/RPCObjects/interface/RPCObFebmap.h"
00023 #include "CondFormats/RPCObjects/interface/RPCObUXC.h"
00024 #include "CondFormats/RPCObjects/interface/RPCObGasMix.h"
00025 
00026 struct dbread{
00027     float alias;
00028     float value;
00029 };
00030 
00031 
00032 class RPCFw : virtual public RPCDBCom
00033 {
00034 public:
00035   RPCFw( const std::string& connectionString,
00036          const std::string& userName,
00037          const std::string& password);
00038   virtual ~RPCFw();
00039   void run();
00040 
00041   coral::TimeStamp UTtoT(long long utime);
00042   unsigned long long TtoUT(coral::TimeStamp time);
00043 
00044   coral::TimeStamp tMIN;
00045   coral::TimeStamp tMAX;
00046   unsigned long long N_IOV;
00047 
00048   std::vector<RPCObImon::I_Item> createIMON(long long since, long long till);
00049   std::vector<RPCObVmon::V_Item> createVMON(long long from, long long till); 
00050   std::vector<RPCObStatus::S_Item> createSTATUS(long long since, long long till); 
00051   std::vector<RPCObGas::Item> createGAS(long long since, long long till);
00052   std::vector<RPCObTemp::T_Item> createT(long long since, long long till);
00053   std::vector<RPCObPVSSmap::Item> createIDMAP();
00054   std::vector<RPCObFebmap::Feb_Item> createFEB(long long since, long long till);        
00055   std::vector<RPCObUXC::Item> createUXC(long long since, long long till);
00056   std::vector<RPCObGasMix::Item> createMix(long long since, long long till);
00057   bool isMajor(coral::TimeStamp fir, coral::TimeStamp sec);
00058   
00059 private:
00060   std::string m_connectionString;
00061   std::string m_userName;
00062   std::string m_password;
00063 };
00064 
00065 #endif