Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

RealizationSvc Class Reference

#include <RealizationSvc.h>

Inheritance diagram for RealizationSvc:

IRealizationSvc IRealizationSvc List of all members.

Public Member Functions

virtual StatusCode finalize ()
virtual StatusCode finalize ()
std::vector< std::string > getBgFileName (std::string query)
std::vector< std::string > getBgFileName ()
std::vector< std::string > getBgFileName (std::string query)
std::vector< std::string > getBgFileName ()
double getBunchPosX ()
double getBunchPosX ()
double getBunchPosY ()
double getBunchPosY ()
double getBunchPosZ ()
double getBunchPosZ ()
double getBunchSizeX ()
double getBunchSizeX ()
double getBunchSizeY ()
double getBunchSizeY ()
double getBunchSizeZ ()
double getBunchSizeZ ()
int getEtotDataSteps ()
int getEtotDataSteps ()
int getInitEvtID ()
int getInitEvtID ()
float getLuminosity (int runNo)
float getLuminosity ()
float getLuminosity (int runNo)
float getLuminosity ()
int getRunEvtNum ()
int getRunEvtNum ()
int getRunId ()
int getRunId ()
std::vector< double > getRunInfo ()
std::vector< double > getRunInfo ()
std::vector< int > getRunList ()
std::vector< int > getRunList ()
float getRunTotalTime ()
float getRunTotalTime ()
float getTauValue ()
float getTauValue ()
std::vector< std::string > getTofThreshold ()
std::vector< std::string > getTofThreshold ()
double getTrgGain (int cry_id)
double getTrgGain (int cry_id)
std::vector< uint32_t > getTrgTable ()
std::vector< uint32_t > getTrgTable ()
int getVthBalBLK ()
int getVthBalBLK ()
int getVthBalEEMC ()
int getVthBalEEMC ()
int getVthBEtotH ()
int getVthBEtotH ()
int getVthBLZ ()
int getVthBLZ ()
int getVthDiffB ()
int getVthDiffB ()
int getVthDiffE ()
int getVthDiffE ()
int getVthDiffMin ()
int getVthDiffMin ()
int getVthEEtotH ()
int getVthEEtotH ()
int getVthEtotL ()
int getVthEtotL ()
int getVthEtotM ()
int getVthEtotM ()
void handle (const Incident &)
void handle (const Incident &)
bool ifReadBunch ()
bool ifReadBunch ()
bool ifReadRandTrg ()
bool ifReadRandTrg ()
bool ifReadTFEE ()
bool ifReadTFEE ()
bool ifReadTrg ()
bool ifReadTrg ()
virtual StatusCode initialize ()
virtual StatusCode initialize ()
virtual StatusCode queryInterface (const InterfaceID &riid, void **ppvInterface)
virtual StatusCode queryInterface (const InterfaceID &riid, void **ppvInterface)
void readDB (int runNo)
void readDB (int runNo)
 RealizationSvc (const std::string &name, ISvcLocator *svcloc)
 RealizationSvc (const std::string &name, ISvcLocator *svcloc)
void setBgFileName (std::vector< std::string > i)
void setBgFileName (std::vector< std::string > i)
void setBunchPosX (double i)
void setBunchPosX (double i)
void setBunchPosY (double i)
void setBunchPosY (double i)
void setBunchPosZ (double i)
void setBunchPosZ (double i)
void setBunchSizeX (double i)
void setBunchSizeX (double i)
void setBunchSizeY (double i)
void setBunchSizeY (double i)
void setBunchSizeZ (double i)
void setBunchSizeZ (double i)
void setInitEvtID (int i)
void setInitEvtID (int i)
void setLuminosity (float i)
void setLuminosity (float i)
void setRunEvtNum (int i)
void setRunEvtNum (int i)
void setRunId (int i)
void setRunId (int i)
void setTrgTable (std::vector< uint32_t > i)
void setTrgTable (std::vector< uint32_t > i)
void updateRealData ()
void updateRealData ()
bool UseDBFlag ()
bool UseDBFlag ()
 ~RealizationSvc ()
 ~RealizationSvc ()

Static Public Member Functions

const InterfaceID & interfaceID ()
const InterfaceID & interfaceID ()

Private Attributes

std::vector< std::string > m_bgfilename
std::vector< std::string > m_bgfilename
double m_bunch_x
double m_bunch_y
double m_bunch_z
int m_CaliConst
RealDBUtil::ConnectionProviderm_connect
RealDBUtil::ConnectionProviderm_connect
int m_EtotDataSteps
IDataProviderSvc * m_eventSvc
IDataProviderSvc * m_eventSvc
bool m_ifReadBunch
bool m_ifReadRandTrg
bool m_ifReadRunInfo
bool m_ifReadTFEE
bool m_ifReadTrg
int m_initEvtID
float m_lumi
std::string m_ParVer
int m_RunEvtNum
int m_runID
std::vector< int > m_runIdList
std::vector< int > m_runIdList
std::vector< double > m_runInfo
std::vector< double > m_runInfo
std::vector< int > m_runNoList
std::vector< int > m_runNoList
float m_runTotalTime
std::string m_SftVer
double m_sigma_x
double m_sigma_y
double m_sigma_z
float m_tauValue
std::vector< std::string > m_tfee
std::vector< std::string > m_tfee
double m_trgGain [6240]
std::vector< uint32_t > m_trgTable
std::vector< uint32_t > m_trgTable
bool m_useDB
int m_VthBalBLK
int m_VthBalEEMC
int m_VthBEtotH
int m_VthBLZ
int m_VthDiffB
int m_VthDiffE
int m_VthDiffMin
int m_VthEEtotH
int m_VthEtotL
int m_VthEtotM

Constructor & Destructor Documentation

RealizationSvc::RealizationSvc const std::string &  name,
ISvcLocator *  svcloc
 

00023                                                                        :
00024     Service (name, svcloc) {
00025   m_CaliConst = 100;
00026   declareProperty("RunIDList", m_runNoList);
00027   declareProperty("IfUseDB", m_useDB = true);
00028   declareProperty("IfReadBunch", m_ifReadBunch = true);
00029   declareProperty("IfUseTrg", m_ifReadTrg = false);
00030   declareProperty("IfReadRanTrg", m_ifReadRandTrg = false);
00031   declareProperty("IfReadTFEE", m_ifReadTFEE = false);
00032   declareProperty("IfReadRunInfo", m_ifReadRunInfo = false);
00033   declareProperty("SftVer", m_SftVer = "6.5.0");
00034   declareProperty("ParVer", m_ParVer = "1");
00035   declareProperty("InitEvtID", m_initEvtID = 0);
00036 }

RealizationSvc::~RealizationSvc  )  [inline]
 

00021 {};

RealizationSvc::RealizationSvc const std::string &  name,
ISvcLocator *  svcloc
 

RealizationSvc::~RealizationSvc  )  [inline]
 

00021 {};


Member Function Documentation

virtual StatusCode RealizationSvc::finalize  )  [virtual]
 

StatusCode RealizationSvc::finalize  )  [virtual]
 

00092                                    {
00093      MsgStream log(messageService(), name());
00094      log << MSG::INFO << "RealizationSvc::finalize()" << endreq;
00095 
00096      return StatusCode::SUCCESS;
00097 }

std::vector<std::string> RealizationSvc::getBgFileName std::string  query  ) 
 

std::vector<std::string> RealizationSvc::getBgFileName  )  [inline]
 

00086 { return m_bgfilename; }

std::vector< std::string > RealizationSvc::getBgFileName std::string  query  ) 
 

00145                                                                   {
00146   MsgStream log( messageService(), name() );
00147   using RealDBUtil::ConnectionProvider;
00148 
00149   std::vector<std::string> Bgfilename;
00150   Bgfilename.clear();
00151 
00152   std::vector<std::string> fileInfor;
00153   ConnectionProvider::eRet e = m_connect->getReadBackgroundInfo(fileInfor,query);
00154   if(e != 0 ) {
00155     log << MSG::ERROR << "Could not find background infor., exit." << endreq;
00156     exit(1);
00157   }
00158 
00159   for(unsigned int i = 0; i < fileInfor.size(); i+=2)
00160   {
00161     Bgfilename.push_back(fileInfor[i]+"/"+fileInfor[i+1]);
00162   }
00163   fileInfor.clear();
00164   
00165   for(unsigned int i = 0; i < Bgfilename.size(); i++) {
00166      log << MSG::INFO << "Background file name: " << Bgfilename[i] << endreq;
00167   }
00168 
00169   return Bgfilename;
00170 }

std::vector<std::string> RealizationSvc::getBgFileName  )  [inline]
 

00086 { return m_bgfilename; }

double RealizationSvc::getBunchPosX  )  [inline]
 

00047 { return m_bunch_x; }

double RealizationSvc::getBunchPosX  )  [inline]
 

00047 { return m_bunch_x; }

double RealizationSvc::getBunchPosY  )  [inline]
 

00048 { return m_bunch_y; }

double RealizationSvc::getBunchPosY  )  [inline]
 

00048 { return m_bunch_y; }

double RealizationSvc::getBunchPosZ  )  [inline]
 

00049 { return m_bunch_z; }

double RealizationSvc::getBunchPosZ  )  [inline]
 

00049 { return m_bunch_z; }

double RealizationSvc::getBunchSizeX  )  [inline]
 

00050 { return m_sigma_x; }

double RealizationSvc::getBunchSizeX  )  [inline]
 

00050 { return m_sigma_x; }

double RealizationSvc::getBunchSizeY  )  [inline]
 

00051 { return m_sigma_y; }

double RealizationSvc::getBunchSizeY  )  [inline]
 

00051 { return m_sigma_y; }

double RealizationSvc::getBunchSizeZ  )  [inline]
 

00052 { return m_sigma_z; }

double RealizationSvc::getBunchSizeZ  )  [inline]
 

00052 { return m_sigma_z; }

int RealizationSvc::getEtotDataSteps  )  [inline]
 

00073 { return m_EtotDataSteps; }

int RealizationSvc::getEtotDataSteps  )  [inline]
 

00073 { return m_EtotDataSteps; }

int RealizationSvc::getInitEvtID  )  [inline]
 

00034 { return m_initEvtID; }

int RealizationSvc::getInitEvtID  )  [inline]
 

00034 { return m_initEvtID; }

float RealizationSvc::getLuminosity int  runNo  ) 
 

float RealizationSvc::getLuminosity  )  [inline]
 

00038 { return m_lumi; }

float RealizationSvc::getLuminosity int  runNo  ) 
 

00130                                              {
00131   using RealDBUtil::ConnectionProvider;
00132 
00133   MsgStream log( messageService(), name() );
00134   std::string sLum;
00135   ConnectionProvider::eRet e = m_connect->getReadLumInfo(sLum,runNo, m_SftVer, m_ParVer);
00136   if(e != 0 ) {
00137     log << MSG::ERROR << "Could not find Luminosity infor., exit." << endreq;
00138     exit(1);
00139   }
00140   m_lumi  = std::atof(sLum.c_str());
00141   log << MSG::INFO << "Luminosity is " << m_lumi << " in Run " << runNo << endreq;
00142   return m_lumi;
00143 }

float RealizationSvc::getLuminosity  )  [inline]
 

00038 { return m_lumi; }

int RealizationSvc::getRunEvtNum  )  [inline]
 

00062 { return m_RunEvtNum; }

int RealizationSvc::getRunEvtNum  )  [inline]
 

00062 { return m_RunEvtNum; }

int RealizationSvc::getRunId  )  [inline]
 

00101 { return m_runID; }

int RealizationSvc::getRunId  )  [inline]
 

00101 { return m_runID; }

std::vector<double> RealizationSvc::getRunInfo  )  [inline]
 

00094 {return m_runInfo; }

std::vector<double> RealizationSvc::getRunInfo  )  [inline]
 

00094 {return m_runInfo; }

std::vector<int> RealizationSvc::getRunList  )  [inline]
 

00100 { return m_runIdList; }

std::vector<int> RealizationSvc::getRunList  )  [inline]
 

00100 { return m_runIdList; }

float RealizationSvc::getRunTotalTime  )  [inline]
 

00090 { return m_runTotalTime; }

float RealizationSvc::getRunTotalTime  )  [inline]
 

00090 { return m_runTotalTime; }

float RealizationSvc::getTauValue  )  [inline]
 

00091 { return m_tauValue; }

float RealizationSvc::getTauValue  )  [inline]
 

00091 { return m_tauValue; }

std::vector<std::string> RealizationSvc::getTofThreshold  )  [inline]
 

00097 { return m_tfee; }

std::vector<std::string> RealizationSvc::getTofThreshold  )  [inline]
 

00097 { return m_tfee; }

double RealizationSvc::getTrgGain int  cry_id  )  [inline]
 

00054 { return m_trgGain[cry_id]; }

double RealizationSvc::getTrgGain int  cry_id  )  [inline]
 

00054 { return m_trgGain[cry_id]; }

std::vector<uint32_t> RealizationSvc::getTrgTable  )  [inline]
 

00070 { return m_trgTable; }

std::vector<uint32_t> RealizationSvc::getTrgTable  )  [inline]
 

00070 { return m_trgTable; }

int RealizationSvc::getVthBalBLK  )  [inline]
 

00081 { return m_VthBalBLK; }

int RealizationSvc::getVthBalBLK  )  [inline]
 

00081 { return m_VthBalBLK; }

int RealizationSvc::getVthBalEEMC  )  [inline]
 

00082 { return m_VthBalEEMC; }

int RealizationSvc::getVthBalEEMC  )  [inline]
 

00082 { return m_VthBalEEMC; }

int RealizationSvc::getVthBEtotH  )  [inline]
 

00074 { return m_VthBEtotH; }

int RealizationSvc::getVthBEtotH  )  [inline]
 

00074 { return m_VthBEtotH; }

int RealizationSvc::getVthBLZ  )  [inline]
 

00078 { return m_VthBLZ; }

int RealizationSvc::getVthBLZ  )  [inline]
 

00078 { return m_VthBLZ; }

int RealizationSvc::getVthDiffB  )  [inline]
 

00079 { return m_VthDiffB; }

int RealizationSvc::getVthDiffB  )  [inline]
 

00079 { return m_VthDiffB; }

int RealizationSvc::getVthDiffE  )  [inline]
 

00080 { return m_VthDiffE; }

int RealizationSvc::getVthDiffE  )  [inline]
 

00080 { return m_VthDiffE; }

int RealizationSvc::getVthDiffMin  )  [inline]
 

00083 { return m_VthDiffMin; }

int RealizationSvc::getVthDiffMin  )  [inline]
 

00083 { return m_VthDiffMin; }

int RealizationSvc::getVthEEtotH  )  [inline]
 

00075 { return m_VthEEtotH; }

int RealizationSvc::getVthEEtotH  )  [inline]
 

00075 { return m_VthEEtotH; }

int RealizationSvc::getVthEtotL  )  [inline]
 

00076 { return m_VthEtotL; }

int RealizationSvc::getVthEtotL  )  [inline]
 

00076 { return m_VthEtotL; }

int RealizationSvc::getVthEtotM  )  [inline]
 

00077 { return m_VthEtotM; }

int RealizationSvc::getVthEtotM  )  [inline]
 

00077 { return m_VthEtotM; }

void RealizationSvc::handle const Incident &   ) 
 

void RealizationSvc::handle const Incident &   ) 
 

00110                                               {
00111   MsgStream log( messageService(), name() );
00112   log << MSG::DEBUG << "handle: " << inc.type() << endreq;
00113   if ( inc.type() == "NewRun" ){
00114     log << MSG::DEBUG << "Begin New Run" << endreq;
00115     if(m_useDB == true) {
00116       int runNo;
00117         SmartDataPtr<Event::EventHeader> evt(m_eventSvc,"/Event/EventHeader");
00118         if( evt ){
00119           runNo = evt -> runNumber();
00120           log << MSG::INFO <<"The runNumber of current event is  "<<runNo<<endreq;
00121         }
00122         else {
00123           log << MSG::ERROR <<"Can not get EventHeader!"<<endreq;
00124         }
00125       readDB(std::abs(runNo)); 
00126     }
00127   } 
00128 }

bool RealizationSvc::ifReadBunch  )  [inline]
 

00106 { return m_ifReadBunch; }

bool RealizationSvc::ifReadBunch  )  [inline]
 

00106 { return m_ifReadBunch; }

bool RealizationSvc::ifReadRandTrg  )  [inline]
 

00108 { return m_ifReadRandTrg; }

bool RealizationSvc::ifReadRandTrg  )  [inline]
 

00108 { return m_ifReadRandTrg; }

bool RealizationSvc::ifReadTFEE  )  [inline]
 

00109 { return m_ifReadTFEE; }

bool RealizationSvc::ifReadTFEE  )  [inline]
 

00109 { return m_ifReadTFEE; }

bool RealizationSvc::ifReadTrg  )  [inline]
 

00107 { return m_ifReadTrg; }

bool RealizationSvc::ifReadTrg  )  [inline]
 

00107 { return m_ifReadTrg; }

virtual StatusCode RealizationSvc::initialize  )  [virtual]
 

StatusCode RealizationSvc::initialize  )  [virtual]
 

00038                                      {
00039      MsgStream log(messageService(), name());
00040      log << MSG::INFO << "RealizationSvc::initialize()" << endreq;
00041 
00042      StatusCode sc = Service::initialize();
00043      if( sc.isFailure() ) return sc;
00044  
00045      if(m_SftVer == "NONE") m_SftVer = getenv("BES_RELEASE");
00046 
00047      for(unsigned int i = 0; i < m_runNoList.size(); i++) {
00048        if(m_runNoList[i] != 0) {
00049          std::cout <<"run id : " << m_runNoList[i] << std::endl;
00050          if(find(m_runIdList.begin(),m_runIdList.end(),m_runNoList[i]) == m_runIdList.end()) m_runIdList.push_back(m_runNoList[i]);
00051          else log << MSG::ALWAYS <<"RunNo "<<m_runNoList[i]<<" repeated in run list"<<endreq;
00052        }
00053        else {
00054          if(i == 0 || (i+1) >= m_runNoList.size()) log << MSG::ERROR << "Please check your run id list, it is wrong" << endreq;
00055          if(m_runNoList[i+1] < m_runNoList[i-1]) {
00056            for(int j = m_runNoList[i+1]+1; j < m_runNoList[i-1]; j++) {
00057              if(find(m_runIdList.begin(),m_runIdList.end(),j) == m_runIdList.end()) m_runIdList.push_back(j);
00058              else log << MSG::ALWAYS <<"RunNo "<<j<<" repeated in run list"<<endreq;
00059            }
00060          }
00061          else {
00062            for(int j = m_runNoList[i-1]+1; j < m_runNoList[i+1]; j++) {
00063              if(find(m_runIdList.begin(),m_runIdList.end(),j) == m_runIdList.end()) m_runIdList.push_back(j);
00064              else log << MSG::ALWAYS <<"RunNo "<<j<<" repeated in run list"<<endreq;
00065            }
00066          }
00067        }
00068      }
00069      m_runID = m_runIdList[0];
00070 
00071      m_connect = new RealDBUtil::ConnectionProvider();
00072      if (!m_connect) {
00073        log << MSG::ERROR << "Could not open connection to database" << endreq;
00074      }
00075 
00076      IIncidentSvc* incsvc;
00077      sc = service("IncidentSvc", incsvc);
00078      int priority = 100;
00079      if( sc.isSuccess() ){
00080        incsvc -> addListener(this, "NewRun", priority);
00081      }
00082 
00083      sc = serviceLocator()->service("EventDataSvc", m_eventSvc, true);
00084      if (sc.isFailure() ) {
00085        log << MSG::ERROR << "Unable to find EventDataSvc " << endreq;
00086        return sc;
00087      }
00088 
00089      return StatusCode::SUCCESS;
00090 }

const InterfaceID& IRealizationSvc::interfaceID  )  [inline, static, inherited]
 

00014 { return IID_IRealizationSvc; }

const InterfaceID& IRealizationSvc::interfaceID  )  [inline, static, inherited]
 

00014 { return IID_IRealizationSvc; }

virtual StatusCode RealizationSvc::queryInterface const InterfaceID &  riid,
void **  ppvInterface
[virtual]
 

StatusCode RealizationSvc::queryInterface const InterfaceID &  riid,
void **  ppvInterface
[virtual]
 

00100 {
00101   if ( IRealizationSvc::interfaceID().versionMatch(riid) )    {
00102     *ppvInterface = (IRealizationSvc*)this;
00103   }else{
00104     return Service::queryInterface(riid, ppvInterface);
00105   }
00106   addRef();
00107   return StatusCode::SUCCESS;
00108 }

void RealizationSvc::readDB int  runNo  ) 
 

void RealizationSvc::readDB int  runNo  ) 
 

00241                                      {
00242   MsgStream log( messageService(), name() );
00243   log << MSG::DEBUG << "In getCaliConst" << endreq;
00244 
00245   using RealDBUtil::ConnectionProvider;
00246 
00247   StatusCode sc;
00248 
00249   //Get bunch infor
00250   if(m_ifReadBunch == true) {
00251     std::vector<std::string> sbunch;
00252     std::vector<double> bunchInfo;
00253     ConnectionProvider::eRet e = m_connect->getReadBunchInfo(sbunch,runNo,m_SftVer,m_ParVer);
00254     if(e == 7 ) {
00255       bool last = true;
00256       for(int id = 1; true; id++) {
00257         e = m_connect->getReadBunchInfo(sbunch,runNo+id,m_SftVer,m_ParVer);
00258         last = true;
00259         if(e == 7) {
00260           if((runNo-id) > 0) {
00261             e = m_connect->getReadBunchInfo(sbunch,runNo-id,m_SftVer,m_ParVer);
00262             last = false;
00263           }
00264         }
00265         if(e == 0) {
00266           if(last == true) log << MSG::INFO << "Use Bunch infor. of run " << runNo+id << " instead of run " << runNo << endreq;
00267           if(last == false) log << MSG::INFO << "Use Bunch infor. of run " << runNo-id << " instead of run " << runNo << endreq;
00268           break;
00269         }
00270       }
00271     }
00272     if(e != 0 && e != 7) {
00273       log << MSG::ERROR << "Could not find Bunch infor., exit." << endreq;
00274       exit(1);
00275     }
00276     for(unsigned int i = 0; i < sbunch.size(); i++)
00277     {
00278       bunchInfo.push_back(atof(sbunch[i].c_str()));
00279     }
00280     sbunch.clear();
00281 
00282     if(bunchInfo.size() == 6)
00283     {
00284       //convert from cm to mm
00285       m_bunch_x = 10*bunchInfo[0];
00286       m_bunch_y = 10*bunchInfo[1];
00287       m_bunch_z = 10*bunchInfo[2];
00288       m_sigma_x = 10*bunchInfo[3];
00289       m_sigma_y = 10*bunchInfo[4];
00290       m_sigma_z = 10*bunchInfo[5];
00291       log << MSG::INFO << "BunchPosX: " << m_bunch_x << " BunchPosY: " << m_bunch_y << " BunchPosZ: " << m_bunch_z << " in Run " << runNo << endreq;
00292       log << MSG::INFO << "BunchSigmaX: " << m_sigma_x << " BunchSigmaY: " << m_sigma_y << " BunchSigmaZ: " << m_sigma_z << " in Run " << runNo << endreq;
00293     }
00294     else {
00295       log << MSG::ERROR << "Please check the bunch information, the size is " << bunchInfo.size() << endreq;
00296     }
00297     bunchInfo.clear();
00298   }
00299   
00300   //get trigger table
00301   if(m_ifReadTrg == true) {
00302     m_trgTable.clear();
00303     std::vector<std::string> strgTable;
00304     ConnectionProvider::eRet e = m_connect->getReadTrgTableInfo(strgTable,runNo);
00305     if(e != 0 ) {
00306       log << MSG::ERROR << "Could not find TrgTable infor., exit." << endreq;
00307       exit(1);
00308     }
00309     for(unsigned int i = 0; i < strgTable.size(); i++)
00310     {
00311       long long value = 0;
00312       for (unsigned int j = 0; j < (strgTable[i]).length(); j++)
00313       {
00314         value = value*10 + (strgTable[i][j] - '0');
00315       }
00316       m_trgTable.push_back(uint32_t(value));
00317     }
00318     strgTable.clear();
00319     if(m_trgTable.size() != 65) log << MSG::ERROR << "Please check the TrgTable information, the size is " << m_trgTable.size() << endreq;
00320 
00321     std::vector<double> vtrgGain;
00322     e = m_connect->getEmcGain(vtrgGain,runNo);
00323     if(e != 0 ) {
00324       log << MSG::ERROR << "Could not find emc gain infor., exit." << endreq;
00325       exit(1);
00326     }
00327     for(unsigned int i = 0; i < vtrgGain.size(); i++) {
00328       m_trgGain[i] = vtrgGain[i];
00329     }
00330 
00331     //get trigger config information
00332     e = m_connect->getTrgConfigInfo(runNo);
00333     if(e != 0 ) {
00334       log << MSG::ERROR << "Could not find Trigger config infor., exit." << endreq;
00335       exit(1);
00336     }
00337     m_EtotDataSteps = m_connect->getEtotDataSteps();
00338     m_VthBEtotH = m_connect->getVthBEtotH();
00339     m_VthEEtotH = m_connect->getVthEEtotH();
00340     m_VthEtotL = m_connect->getVthEtotL();
00341     m_VthEtotM = m_connect->getVthEtotM();
00342     m_VthBLZ = m_connect->getVthBLZ();
00343     m_VthDiffB = m_connect->getVthDiffB();
00344     m_VthDiffE = m_connect->getVthDiffE();
00345     m_VthBalBLK = m_connect->getVthBalBLK();
00346     m_VthBalEEMC = m_connect->getVthBalEEMC();
00347     m_VthDiffMin = m_connect->getVthDiffMin();
00348   }
00349 
00350   //get background file
00351   if(m_ifReadRandTrg == true) {
00352     std::vector<std::string> fileInfor;
00353     ConnectionProvider::eRet e = m_connect->getReadBackgroundInfo(fileInfor,runNo);
00354     if(e == 7 ) {
00355       bool last = true;
00356       for(int id = 1; true; id++) {
00357         e = m_connect->getReadBackgroundInfo(fileInfor,runNo+id);
00358         last = true;
00359         if(e == 7) {
00360           if((runNo-id) > 0) {
00361             e = m_connect->getReadBackgroundInfo(fileInfor,runNo-id);
00362             last = false;
00363           }
00364         }
00365         if(e == 0) {
00366           if(last == true) log << MSG::INFO << "Use Bg files of run " << runNo+id << " instead of run " << runNo << endreq;
00367           if(last == false) log << MSG::INFO << "Use Bg files of run " << runNo-id << " instead of run " << runNo << endreq;
00368           break;
00369         }
00370       }
00371     }
00372     if(e != 0 && e != 7) {
00373       log << MSG::ERROR << "Could not find background infor., exit." << endreq;
00374       exit(1);
00375     }
00376     m_bgfilename.clear();
00377     for(unsigned int i = 0; i < fileInfor.size(); i+=2)
00378     {
00379       m_bgfilename.push_back(fileInfor[i]+"/"+fileInfor[i+1]);
00380     }
00381     fileInfor.clear();
00382     for(unsigned int i = 0; i < m_bgfilename.size(); i++) {
00383        log << MSG::INFO << "Background file name: " << m_bgfilename[i] << " in run " << runNo << endreq;
00384     }
00385 
00386     //get luminosity curve parameters
00387     std::string srunTime;
00388     std::string stau_value;
00389     e = m_connect->getLumCurvePar(srunTime, stau_value, runNo, m_SftVer, m_ParVer);
00390     if(e != 0 ) {
00391       log << MSG::ERROR << "Could not find Luminosity curve parameters, exit." << endreq;
00392       exit(1);
00393     }
00394     m_runTotalTime  = std::atof(srunTime.c_str());
00395     m_tauValue  = std::atof(stau_value.c_str());
00396     log << MSG::INFO << "Total time is " << m_runTotalTime << ", tau is " << m_tauValue << " in run " << runNo << ". " << endreq;
00397   }
00398 
00399   //get tof threshold in table TFEE
00400   if(m_ifReadTFEE == true) {
00401     m_tfee.clear();
00402     ConnectionProvider::eRet e = m_connect->getReadTofThreshInfo(m_tfee,runNo);
00403     if(e != 0 ) {
00404       log << MSG::ERROR << "Could not find TFEE infor., exit." << endreq;
00405       exit(1);
00406     }
00407     
00408     for(unsigned int i = 0; i < m_tfee.size(); i++) {
00409       log << MSG::INFO << "TFEE ----> " << m_tfee[i] << endreq; 
00410     }
00411   }
00412 
00413   //get run infor.
00414   if(m_ifReadRunInfo == true) {
00415     m_runInfo.clear();
00416     std::vector<std::string> srunInfo;
00417     ConnectionProvider::eRet e = m_connect->getRunInfo(srunInfo,runNo);
00418     if(e != 0 ) {
00419       log << MSG::ERROR << "Could not find run infor., exit." << endreq;
00420       exit(1);
00421     }
00422     for(unsigned int i = 0; i < srunInfo.size(); i++)
00423     {
00424       m_runInfo.push_back(atof(srunInfo[i].c_str()));
00425     }
00426     srunInfo.clear();
00427     
00428     for(unsigned int i = 0; i < m_runInfo.size(); i++) {
00429       log << MSG::INFO << "runInfo ----> " << m_runInfo[i] << endreq; 
00430     }
00431   }
00432   
00433 }

void RealizationSvc::setBgFileName std::vector< std::string >  i  )  [inline]
 

00085 { m_bgfilename = i; }

void RealizationSvc::setBgFileName std::vector< std::string >  i  )  [inline]
 

00085 { m_bgfilename = i; }

void RealizationSvc::setBunchPosX double  i  )  [inline]
 

00041 { m_bunch_x = i; }

void RealizationSvc::setBunchPosX double  i  )  [inline]
 

00041 { m_bunch_x = i; }

void RealizationSvc::setBunchPosY double  i  )  [inline]
 

00042 { m_bunch_y = i; }

void RealizationSvc::setBunchPosY double  i  )  [inline]
 

00042 { m_bunch_y = i; }

void RealizationSvc::setBunchPosZ double  i  )  [inline]
 

00043 { m_bunch_z = i; }

void RealizationSvc::setBunchPosZ double  i  )  [inline]
 

00043 { m_bunch_z = i; }

void RealizationSvc::setBunchSizeX double  i  )  [inline]
 

00044 { m_sigma_x = i; }

void RealizationSvc::setBunchSizeX double  i  )  [inline]
 

00044 { m_sigma_x = i; }

void RealizationSvc::setBunchSizeY double  i  )  [inline]
 

00045 { m_sigma_y = i; }

void RealizationSvc::setBunchSizeY double  i  )  [inline]
 

00045 { m_sigma_y = i; }

void RealizationSvc::setBunchSizeZ double  i  )  [inline]
 

00046 { m_sigma_z = i; }

void RealizationSvc::setBunchSizeZ double  i  )  [inline]
 

00046 { m_sigma_z = i; }

void RealizationSvc::setInitEvtID int  i  )  [inline]
 

00035 { m_initEvtID = i; }

void RealizationSvc::setInitEvtID int  i  )  [inline]
 

00035 { m_initEvtID = i; }

void RealizationSvc::setLuminosity float  i  )  [inline]
 

00037 { m_lumi = i; }

void RealizationSvc::setLuminosity float  i  )  [inline]
 

00037 { m_lumi = i; }

void RealizationSvc::setRunEvtNum int  i  )  [inline]
 

00057 { m_RunEvtNum = i; }

void RealizationSvc::setRunEvtNum int  i  )  [inline]
 

00057 { m_RunEvtNum = i; }

void RealizationSvc::setRunId int  i  )  [inline]
 

00102 { m_runID = i; }

void RealizationSvc::setRunId int  i  )  [inline]
 

00102 { m_runID = i; }

void RealizationSvc::setTrgTable std::vector< uint32_t >  i  )  [inline]
 

00069 { m_trgTable = i; }

void RealizationSvc::setTrgTable std::vector< uint32_t >  i  )  [inline]
 

00069 { m_trgTable = i; }

void RealizationSvc::updateRealData  ) 
 

void RealizationSvc::updateRealData  ) 
 

00435                                     {
00436 }

bool RealizationSvc::UseDBFlag  )  [inline]
 

00104 { return m_useDB; }

bool RealizationSvc::UseDBFlag  )  [inline]
 

00104 { return m_useDB; }


Member Data Documentation

std::vector<std::string> RealizationSvc::m_bgfilename [private]
 

std::vector<std::string> RealizationSvc::m_bgfilename [private]
 

double RealizationSvc::m_bunch_x [private]
 

double RealizationSvc::m_bunch_y [private]
 

double RealizationSvc::m_bunch_z [private]
 

int RealizationSvc::m_CaliConst [private]
 

RealDBUtil::ConnectionProvider* RealizationSvc::m_connect [private]
 

RealDBUtil::ConnectionProvider* RealizationSvc::m_connect [private]
 

int RealizationSvc::m_EtotDataSteps [private]
 

IDataProviderSvc* RealizationSvc::m_eventSvc [private]
 

IDataProviderSvc* RealizationSvc::m_eventSvc [private]
 

bool RealizationSvc::m_ifReadBunch [private]
 

bool RealizationSvc::m_ifReadRandTrg [private]
 

bool RealizationSvc::m_ifReadRunInfo [private]
 

bool RealizationSvc::m_ifReadTFEE [private]
 

bool RealizationSvc::m_ifReadTrg [private]
 

int RealizationSvc::m_initEvtID [private]
 

float RealizationSvc::m_lumi [private]
 

std::string RealizationSvc::m_ParVer [private]
 

int RealizationSvc::m_RunEvtNum [private]
 

int RealizationSvc::m_runID [private]
 

std::vector<int> RealizationSvc::m_runIdList [private]
 

std::vector<int> RealizationSvc::m_runIdList [private]
 

std::vector<double> RealizationSvc::m_runInfo [private]
 

std::vector<double> RealizationSvc::m_runInfo [private]
 

std::vector<int> RealizationSvc::m_runNoList [private]
 

std::vector<int> RealizationSvc::m_runNoList [private]
 

float RealizationSvc::m_runTotalTime [private]
 

std::string RealizationSvc::m_SftVer [private]
 

double RealizationSvc::m_sigma_x [private]
 

double RealizationSvc::m_sigma_y [private]
 

double RealizationSvc::m_sigma_z [private]
 

float RealizationSvc::m_tauValue [private]
 

std::vector<std::string> RealizationSvc::m_tfee [private]
 

std::vector<std::string> RealizationSvc::m_tfee [private]
 

double RealizationSvc::m_trgGain [private]
 

std::vector<uint32_t> RealizationSvc::m_trgTable [private]
 

std::vector<uint32_t> RealizationSvc::m_trgTable [private]
 

bool RealizationSvc::m_useDB [private]
 

int RealizationSvc::m_VthBalBLK [private]
 

int RealizationSvc::m_VthBalEEMC [private]
 

int RealizationSvc::m_VthBEtotH [private]
 

int RealizationSvc::m_VthBLZ [private]
 

int RealizationSvc::m_VthDiffB [private]
 

int RealizationSvc::m_VthDiffE [private]
 

int RealizationSvc::m_VthDiffMin [private]
 

int RealizationSvc::m_VthEEtotH [private]
 

int RealizationSvc::m_VthEtotL [private]
 

int RealizationSvc::m_VthEtotM [private]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 16:43:44 2011 for BOSS6.5.5 by  doxygen 1.3.9.1