00001
00002
00003
00004
00005 #include <iostream>
00006 #include <fstream>
00007 using namespace std;
00008
00009 void readtofTrgWindow(const char* time = "2010-01-01 00:00:00") {
00010
00011 const Int_t NTRAY = 120;
00012 const Int_t NVPDTRAY = 2;
00013 const Int_t NMAX = 120;
00014 const Int_t NMTD = 2;
00015
00016
00017 gSystem->Load("St_base");
00018 gSystem->Load("StChain");
00019 gSystem->Load("StUtilities");
00020 gSystem->Load("St_Tables.so");
00021
00022 gSystem->Load("StDbLib.so");
00023 gSystem->Load("libStDb_Tables.so");
00024
00025
00026 StDbManager* dbManager = StDbManager::Instance();
00027
00028
00029 StDbConfigNode* configNode = dbManager->initConfig("Calibrations_tof");
00030
00031 string ZReadTime = time;
00032 dbManager->setRequestTime(ZReadTime.c_str());
00033
00034
00035 StDbTable* tofTrgWindow = configNode->addDbTable("tofTrgWindow");
00036
00037 dbManager->fetchDbTable(tofTrgWindow);
00038
00039 cout << "version : " << tofTrgWindow->getVersion() <<endl;
00040
00041 cout << "begin data/time : "<< tofTrgWindow->getBeginDateTime() <<endl;
00042 cout << "end data/time : " << tofTrgWindow->getEndDateTime() <<endl;
00043
00044
00045 tofTrgWindow_st* trg = static_cast<tofTrgWindow_st*>(tofTrgWindow->GetTable());
00046
00047 if (!trg) {
00048 cout << " Oops ... no pointer to table. Exiting" << endl;
00049 erturn;
00050 }
00051
00052
00053 Int_t nRows = tofTrgWindow->GetNRows();
00054 cout << " NRows = " << nRows << endl;
00055 if(nRows!=(NTRAY+NVPDTRAY+NMTD)) {
00056 cout << " NRows doesn't match !!! " << endl;
00057 }
00058
00059
00060
00061
00062
00063
00064
00065
00066 cout << "read out from database ..." << endl;
00067
00068
00069 for (int i=0;i<NTRAY+NVPDTRAY+NMTD;i++){
00070 cout << i << " " << trg[i].trgWindow_Min << " "<< trg[i].trgWindow_Max << endl;
00071 }
00072
00073
00074 }