/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Mdc/MdcCalibAlg/MdcCalibAlg-00-09-02/MdcCalibAlg/XtMdcCalib.h

Go to the documentation of this file.
00001 #ifndef XTMDCCALIB_H
00002 #define XTMDCCALIB_H
00003 
00004 #include "MdcCalibAlg/MdcCalib.h"
00005 #include <vector>
00006 #include <map>
00007 
00008 #include "TFolder.h"
00009 
00010 class XtMdcCalib: public MdcCalib {
00011 public:
00012      XtMdcCalib();
00013      ~XtMdcCalib();
00014      void initialize(TObjArray* hlist, IMdcGeomSvc* mdcGeomSvc,
00015                      IMdcCalibFunSvc* mdcFunSvc, IMdcUtilitySvc* mdcUtilitySvc);
00016 
00017      void setParam(MdcCalParams& param);
00018      int  fillHist(MdcCalEvent* event);
00019      int  updateConst(MdcCalibConst* calconst);
00020      void clear();
00021 
00022      int getHxtKey(int lay, int entr, int lr, int bin) const;
00023 
00024      static void fcnXT(Int_t &npar, Double_t *gin, Double_t &f,
00025                        Double_t *par, Int_t iflag);
00026      static void fcnXtEdge(Int_t &npar, Double_t *gin, Double_t &f,
00027                        Double_t *par, Int_t iflag);
00028      static double xtFun(double t, double xtpar[]);
00029 
00030      static std::vector<double> XMEAS;
00031      static std::vector<double> TBINCEN;
00032      static std::vector<double> ERR;
00033  
00034      static double              Tmax;
00035      static double              Dmax;
00036      static std::vector<double> XMEASED;
00037      static std::vector<double> TBINCENED;
00038      static std::vector<double> ERRED;
00039 
00040 private:
00041      MdcCalParams m_param;
00042 
00043      TObjArray* m_hlist;
00044      IMdcGeomSvc* m_mdcGeomSvc;
00045      IMdcCalibFunSvc* m_mdcFunSvc;
00046      IMdcUtilitySvc* m_mdcUtilitySvc;
00047 
00048      int m_nlayer;
00049      int m_nEntr[43];
00050      int m_nLR;
00051      int m_nbin;
00052      int m_nxtpar;
00053      double m_tbinw;
00054 
00055      bool m_fgIni;
00056      double m_docaMax[MdcCalNLayer];
00057      double m_tm[MdcCalNLayer][MdcCalNENTRXT][MdcCalLR];
00058 
00059      TFolder* m_fdXt;
00060      std::vector<TH1D*> m_hxt;
00061      std::map<int, int> m_hxtmap;
00062 
00063 
00064      /* for the index of the histograms */
00065      static const int HXTLAYER_INDEX    = 13;
00066      static const int HXTLAYER_MASK     = 0x7E000;
00067 
00068      static const int HXTENTRA_INDEX    = 8;
00069      static const int HXTENTRA_MASK     = 0x1F00;
00070 
00071      static const int HXTLR_INDEX       = 6;
00072      static const int HXTLR_MASK        = 0xC0;
00073 
00074      static const int HXTBIN_INDEX      = 0;
00075      static const int HXTBIN_MASK       = 0x3F;
00076 
00077 };
00078 
00079 inline void XtMdcCalib::setParam(MdcCalParams& param){
00080      MdcCalib::setParam(param);
00081      m_param = param;
00082 }
00083 
00084 #endif /* XTMDCCALIB_H */

Generated on Tue Nov 29 23:12:49 2016 for BOSS_7.0.2 by  doxygen 1.4.7