00001 #ifndef MDCCALIBALG_H 00002 #define MDCCALIBALG_H 00003 00004 #include "GaudiKernel/Algorithm.h" 00005 00006 #include "MdcGeomSvc/IMdcGeomSvc.h" 00007 #include "MdcGeomSvc/MdcGeomSvc.h" 00008 #include "MdcGeomSvc/MdcGeoWire.h" 00009 #include "MdcGeomSvc/MdcGeoLayer.h" 00010 00011 #include "MdcCalibFunSvc/IMdcCalibFunSvc.h" 00012 #include "MdcCalibFunSvc/MdcCalibFunSvc.h" 00013 #include "MdcUtilitySvc/IMdcUtilitySvc.h" 00014 #include "MdcUtilitySvc/MdcUtilitySvc.h" 00015 00016 #include "MdcCalibAlg/MdcCalibConst.h" 00017 #include "MdcCalibAlg/MdcCalEvent.h" 00018 #include "MdcCalibAlg/MdcCalConstMgr.h" 00019 #include "MdcCalibAlg/MdcCalParams.h" 00020 00021 #include "MdcCalibAlg/MdcCalib.h" 00022 #include "MdcCalibAlg/IniMdcCalib.h" 00023 #include "MdcCalibAlg/PreXtMdcCalib.h" 00024 #include "MdcCalibAlg/PreT0MdcCalib.h" 00025 #include "MdcCalibAlg/XtMdcCalib.h" 00026 #include "MdcCalibAlg/GrXtMdcCalib.h" 00027 #include "MdcCalibAlg/XtInteMdcCalib.h" 00028 #include "MdcCalibAlg/T0MdcCalib.h" 00029 #include "MdcCalibAlg/WrMdcCalib.h" 00030 #include "MdcCalibAlg/Wr2dMdcCalib.h" 00031 #include "MdcCalibAlg/QtMdcCalib.h" 00032 00033 #include "TObjArray.h" 00034 #include "TFile.h" 00035 00036 00038 00039 class MdcCalibAlg: public Algorithm { 00040 public: 00041 MdcCalibAlg(const std::string& name, ISvcLocator* pSvcLocator); 00042 ~MdcCalibAlg(); 00043 00044 StatusCode initialize(); 00045 StatusCode execute(); 00046 StatusCode finalize(); 00047 00048 private: 00049 void initParam(); 00050 00051 TFile* m_fhist; 00052 TObjArray* m_hlist; 00053 IMdcGeomSvc* m_mdcGeomSvc; 00054 IMdcCalibFunSvc* m_mdcFunSvc; 00055 IMdcUtilitySvc* m_mdcUtilitySvc; 00056 MdcCalConstMgr* m_constmgr; 00057 MdcCalib* m_mdccalib; 00058 MdcCalEvent* m_mdcevt; 00059 MdcCalibConst* m_calconst; 00060 MdcCalParams m_param; 00061 00062 bool m_initCalConstFlg; 00063 int m_mdcCalFlg; 00064 int m_flgKalFit; /* 1 for using Kalman filter, 0 for not */ 00065 int m_evtType; /* 0-6: e,mu,pi,k,p,cosmic-ray */ 00066 int m_nEvtDisp; 00067 int m_nEvt; 00068 bool m_distCalib; 00069 double m_ecm; 00070 00071 std::string m_histname; 00072 std::string m_configFile; 00073 std::string m_wpcFile; /* single wire position calibration file */ 00074 }; 00075 00076 #endif /* MDCCALIBALG_H */