00001
00002 #include "ReadME.h"
00003 int ReadME::preRunNo=-1;
00004 void ReadME::readMeasuredEcms(int runNo){
00005 m_sampleName=-1; m_ecms=-1; m_ecmsErr=-1; m_aveEcms=-1; m_aveEcmsErr=-1; m_runNoValid=false;
00006 if(runNo==0){
00007 std::cout<<"RunNo can not be 0"<<std::endl;
00008 }
00009 else{
00010 int runNum=std::abs(runNo);
00011 StatusCode scDbSvc=Gaudi::svcLocator()->service("DatabaseSvc", m_dbSvc, true);
00012 if(scDbSvc.isFailure()){
00013 std::cout<<"Gaudi::svcLocator()->service is Failed"<<std::endl;
00014 }
00015 else{
00016 char stmt[400];
00017 snprintf(stmt, 1024, "select sample, RunFrom, RunTo, Ecms, Ecms_err, Ave_Ecms, Ave_Ecms_err from MeasuredEcms2 where RunFrom <= %d and RunTo >= %d", runNum, runNum);
00018 DatabaseRecordVector res;
00019 int rowNo=m_dbSvc->query("offlinedb", stmt, res);
00020 if(rowNo==0){
00021 std::cout<<"Can not find this RowNo"<<std::endl;
00022 }
00023 else{
00024 DatabaseRecord* records=res[0];
00025 m_runFrom=records->GetDouble("RunFrom");
00026 m_runTo=records->GetDouble("RunTo");
00027 m_sampleName=records->GetDouble("sample");
00028 m_ecms=records->GetDouble("Ecms");
00029 m_ecmsErr=records->GetDouble("Ecms_err");
00030 m_aveEcms=records->GetDouble("Ave_Ecms");
00031 m_aveEcmsErr=records->GetDouble("Ave_Ecms_err");
00032 if(m_ecms!=-1) m_runNoValid=true;
00033 }
00034 }
00035 }
00036 }