/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Utilities/MeasuredEcmsSvc/MeasuredEcmsSvc-00-00-15/MeasuredEcmsSvc/MeasuredEcmsSvc.h

Go to the documentation of this file.
00001 //========================================
00002 //AUTHOR: Lianjin WU <wulj@ihep.ac.cn> 2015.11.28
00003 //========================================
00004 #ifndef Utilities_MeasuredEcmsSvc_H
00005 #define Utilities_MeasuredEcmsSvc_H 
00006 #include "MeasuredEcmsSvc/IMeasuredEcmsSvc.h"
00007 class IDatabaseSvc;
00008 template <class TYPE> class CnvFactory;
00009 class MeasuredEcmsSvc:public Service, virtual public IMeasuredEcmsSvc, virtual public IIncidentListener{
00010   friend class CnvFactory<MeasuredEcmsSvc>;
00011   public:
00012     MeasuredEcmsSvc(const std::string& name, ISvcLocator* svcLoc);
00013     virtual ~MeasuredEcmsSvc();
00014 
00015     virtual StatusCode queryInterface(const InterfaceID& riid, void** ppvIF);
00016     virtual StatusCode initialize();
00017     virtual StatusCode finalize();
00018 
00019     void handle(const Incident&);
00020 
00021     void readMeasuredEcms(int runNo);
00022                 void readRunParams(int runNo);
00023 
00024                 void readDB(int runNo);
00025 
00026     int getSampleName(int runNo);
00027     int getRunFrom(int runNo);
00028     int getRunTo(int runNo);
00029 
00030     bool isRunNoValid(int runNo);
00031 
00032     double getEcms(int runNo);
00033     double getEcmsErr(int runNo);
00034     double getAveEcms(int runNo);
00035     double getAveEcmsErr(int runNo);
00036 
00037                 double getPx(int runNo);
00038                 double getPy(int runNo);
00039                 double getPz(int runNo);
00040 
00041                 void readInfo(int runNo, char *tab, char *col);
00042                 double getInfo(int runNo, char *tab, char *col);
00043                 bool isReadDBValid(int runNo, char *tab, char *col);
00044 
00045                 void readInfo(int runNo);
00046                 double getInfo(int runNo);
00047                 bool isReadDBValid(int runNo);
00048 
00049   private:
00050                 //RunParamsMin and RunParamsMax are used to set range for psi3773 listed in RunParams
00051                 int RunParamsMin, RunParamsMax;
00052                 //MeasuredEcmsMin and MeasuredEcmsMax for the data listed in MeasuredEcms2
00053                 int MeasuredEcmsMin, MeasuredEcmsMax;
00054 
00055     IDatabaseSvc* m_dbSvc;
00056     IDataProviderSvc* m_eventSvc;
00057     int m_sampleName, m_runFrom, m_runTo;
00058     double m_ecms, m_ecmsErr, m_aveEcms, m_aveEcmsErr;
00059                 double m_info;
00060     bool m_runNoValid, m_callRead, m_recallRead;
00061                 double m_px, m_py, m_pz;
00062                 std::string table;
00063                 std::string column;
00064 };
00065 #endif

Generated on Tue Nov 29 23:14:44 2016 for BOSS_7.0.2 by  doxygen 1.4.7