![]() |
![]() |
00001 /* 00002 * See headers for a description 00003 * 00004 * $Date: 2008/07/17 16:33:22 $ 00005 * $Revision: 1.5 $ 00006 * \author D. Pagano - Dip. Fis. Nucl. e Teo. & INFN Pavia 00007 */ 00008 00009 #include "RPCSourceHandler.h" 00010 00011 #include "FWCore/ParameterSet/interface/ParameterSetfwd.h" 00012 00013 #include<iostream> 00014 00015 popcon::RpcData::RpcData(const edm::ParameterSet& pset) : 00016 m_name(pset.getUntrackedParameter<std::string>("name","RpcData")){ 00017 } 00018 00019 popcon::RpcData::~RpcData() 00020 { 00021 } 00022 00023 void popcon::RpcData::getNewObjects() { 00024 std::cerr << "------- " << m_name 00025 << " - > getNewObjects" << std::endl; 00026 00027 //check whats already inside of database 00028 std::cerr<<"got offlineInfo"<<std::endl; 00029 std::cerr << tagInfo().name << " , last object valid since " 00030 << tagInfo().lastInterval.first << std::endl; 00031 00032 coral::TimeStamp* time = new coral::TimeStamp; 00033 coral::TimeStamp now = time->now(); 00034 int utime = TtoUT(now); 00035 00036 snc = tagInfo().lastInterval.first; 00037 tll = utime; 00038 00039 std::cout <<">> Time = "<<now.day()<<"/"<<now.month()<<"/"<<now.year()<<" "<<now.hour()<<":"<<now.minute()<<"."<<now.second()<< std::endl; 00040 00041 std::cout << ">> UTime = " << utime << "--> IOV :: since = " << snc << " :: till = " << tll << std::endl; 00042 00043 00044 // RPCFw caen ( "oracle://devdb10/CMS_RPC_COMM_DATA", "CMS_RPC_COMM_DATA", "cms.rpcd4vide" ); // MyDB 00045 RPCFw caen ( "oracle://omds/RPC_CONDITION", "RPC_CONDITION", "take_data" ); // OMDS 00046 00047 // snc = 1163552461; // just for the first time 00048 00049 std::vector<RPCdbData::Item> Icheck; 00050 std::vector<RPCdbData::Item> Vcheck; 00051 std::vector<RPCdbData::Item> Scheck; 00052 00053 Icheck = caen.createIMON(snc); 00054 Vcheck = caen.createVMON(snc); 00055 Scheck = caen.createSTATUS(snc); 00056 00057 // make an fill Imon object 00058 Idata = new RPCdbData(); 00059 RPCdbData::Item Ifill; 00060 std::vector<RPCdbData::Item>::iterator Iit; 00061 for(Iit = Icheck.begin(); Iit != Icheck.end(); Iit++) 00062 { 00063 Ifill = *(Iit); 00064 Idata->Imon_rpc.push_back(Ifill); 00065 } 00066 std::cout << "Incoming object size: " << Icheck.size() << " >> Final object size: " << Idata->Imon_rpc.size() << std::endl; 00067 00068 00069 // make an fill Vmon object 00070 Vdata = new RPCdbData(); 00071 RPCdbData::Item Vfill; 00072 std::vector<RPCdbData::Item>::iterator Vit; 00073 for(Vit = Vcheck.begin(); Vit != Vcheck.end(); Vit++) 00074 { 00075 Vfill = *(Vit); 00076 Vdata->Vmon_rpc.push_back(Vfill); 00077 } 00078 std::cout << "Incoming object size: " << Vcheck.size() << " >> Final object size: " << Vdata->Vmon_rpc.size() << std::endl; 00079 00080 00081 // make an fill Status object 00082 Sdata = new RPCdbData(); 00083 RPCdbData::Item Sfill; 00084 std::vector<RPCdbData::Item>::iterator Sit; 00085 for(Sit = Scheck.begin(); Sit != Scheck.end(); Sit++) 00086 { 00087 Sfill = *(Sit); 00088 Sdata->Status_rpc.push_back(Sfill); 00089 } 00090 std::cout << "Incoming object size: " << Scheck.size() << " >> Final object size: " << Sdata->Status_rpc.size() << std::endl; 00091 00092 00093 m_to_transfer.push_back(std::make_pair((RPCdbData*)Idata,tll)); 00094 // m_to_transfer.push_back(std::make_pair((RPCdbData*)Vdata,snc)); 00095 // m_to_transfer.push_back(std::make_pair((RPCdbData*)Sdata,snc)); 00096 00097 std::cerr << "------- " << m_name << " - > getNewObjects" << std::endl; 00098 00099 }