00001 #ifndef MDCALIGNALG_H
00002 #define MDCALIGNALG_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
00014 #include "MdcAlignAlg/MdcAlignPar.h"
00015 #include "MdcAlignAlg/MdcAliEvent.h"
00016 #include "MdcAlignAlg/MdcAliParams.h"
00017 #include "MdcAlignAlg/Alignment.h"
00018
00019 #include "MdcAlignAlg/MdcAlign.h"
00020
00021 #include "TObjArray.h"
00022
00023 #include <iostream>
00024 #include <fstream>
00025 using namespace std;
00026
00028
00029 class MdcAlignAlg: public Algorithm {
00030 public:
00031 MdcAlignAlg(const std::string& name, ISvcLocator* pSvcLocator);
00032
00033 StatusCode initialize();
00034 StatusCode execute();
00035 StatusCode finalize();
00036
00037 private:
00038 void initParam();
00039 TObjArray* m_hlist;
00040 IMdcGeomSvc* m_mdcGeomSvc;
00041 IMdcCalibFunSvc* m_mdcFunSvc;
00042 MdcAlign* m_pAlign;
00043 MdcAliEvent* m_mdcevt;
00044 MdcAlignPar* m_alignPar;
00045 MdcAliParams m_param;
00046
00047 bool m_distAlign;
00048 int m_alignMeth;
00049 int m_flgKalFit;
00050 int m_evtType;
00051 int m_nEvtDisp;
00052 int m_nEvt;
00053 double m_mag;
00054
00055 std::string m_alignFile;
00056 std::string m_configFile;
00057 std::string m_fixMomLab;
00058 std::string m_histname;
00059 };
00060
00061 #endif