00001 #include "DBWriter/CalibWriter.h" 00002 #include "DBWriter/RunInfoQuary.h" 00003 #include "Context/ContextRange.h" 00004 00005 #include "DatabaseInterface/DbiResultPtr.h" 00006 #include "DatabaseInterface/DbiSqlContext.h" 00007 00008 #include "iostream" 00009 using namespace std; 00010 00011 CalibWriter::CalibWriter() 00012 { 00013 runInfo = new RunInfoQuary(); 00014 aggNo = -1; 00015 subsite = 0; 00016 task = 0; 00017 } 00018 00019 CalibWriter::~CalibWriter() 00020 { 00021 delete runInfo; 00022 } 00023 00024 /* 00025 int CalibWriter::setRunNo(int runNo){ 00026 runNumber = runNo; 00027 return 1; 00028 } 00029 00030 int CalibWriter::setFileName(string fileName){ 00031 inputFileName = fileName; 00032 return 1; 00033 } 00034 00035 int CalibWriter::setTimeWindow(int time){ 00036 timeWindow = time; 00037 return 1; 00038 } 00039 */ 00040 00041 int CalibWriter::setContextRange() 00042 { 00043 ContextRange Cr; 00044 if( 0 == runInfo->runNo2ContextRange(runNumber , Cr) ) 00045 { 00046 cout<<"can not get run info"<<endl; 00047 return 0; 00048 } 00049 cout<<"new writer"<<endl; 00050 startTime = Cr.GetTimeStart(); 00051 //endTime = Cr.GetTimeEnd(); 00052 cout<<runNumber<<"-------------------------------------------------------------------------"<<endl; 00053 //TimeStamp T(2020,12,31,0,0,0,0,0,0); 00054 endTime = TimeStamp::GetEOT(); 00055 // endTime.Add(timeWindow); 00056 00057 cout<<"start time = "<<startTime<<" "; 00058 cout<<"end time = "<<endTime<<endl; 00059 int simMask; 00060 if(isSim){ 00061 simMask = 2; 00062 }else{ 00063 simMask = Cr.GetSimMask(); 00064 } 00065 00066 //ContextRange Cr2(Cr.GetSiteMask(), simMask, startTime, endTime); 00067 ContextRange Cr2(siteMask, simMask, startTime, endTime); 00068 range = Cr2; 00069 return 1; 00070 } 00071 00072 void CalibWriter::setSubsite(int subSite) 00073 { 00074 this->subsite = subSite; 00075 } 00076 00077 void CalibWriter::setIsSim(bool isSim) 00078 { 00079 this->isSim = isSim; 00080 } 00081 /* 00082 int CalibWriter::init() 00083 { 00084 //myWriter = new DbiWriter<CalibPmtSpec>(range,aggNo,subsite,task); 00085 return 1; 00086 } 00087 */ 00088 int CalibWriter::mainProcess() 00089 { 00090 cout<<"CalibWriter runing--------------"<<endl; 00091 if( 0 == setContextRange() ) 00092 { 00093 cout<<"can not set ContextRange"<<endl; 00094 return 0; 00095 } 00096 if( 0 == init() ) 00097 { 00098 cout<<"can not initial"<<endl; 00099 return 0; 00100 } 00101 if( 0 == fillRow() ) 00102 { 00103 cout<<"can not fill row"<<endl; 00104 return 0; 00105 } 00106 if( 0 == final() ) 00107 { 00108 cout<<"can not finalize"<<endl; 00109 return 0; 00110 } 00111 return 1; 00112 00113 } 00114 /* 00115 int CalibWriter::final() 00116 { 00117 cout<<"close DB"<<endl; 00118 //myWriter->Close(); 00119 return 1; 00120 } 00121 */