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

Go to the documentation of this file.
00001 #ifndef MDCCALIBCONST_H
00002 #define MDCCALIBCONST_H
00003 
00004 #include <map>
00005 #include <vector>
00006 
00007 class MdcCalibConst {
00008 
00009 public:
00010      MdcCalibConst();
00011      MdcCalibConst(const MdcCalibConst& calconst);
00012 
00013      void initCalibConst();
00014 
00015      void   fillXtpar(int key, double val);
00016      void   resetXtpar(int lay, int entr, int lr, int order, double val);
00017      int    getXtSize() const { return m_xtmap.size(); }
00018      void   setXtBegin();
00019      int    getNextXtpar(int& key, double& xtpar);
00020      double getXtpar(int lay, int entr, int lr, int order);
00021      int  getXtKey(int lay, int entr, int lr, int order) const;
00022 
00023      void   fillT0(double val)    { m_t0.push_back( val ); }
00024      void   fillDelT0(double val) { m_delt0.push_back( val ); }
00025      void   resetT0(int wireid, double val)    { m_t0[wireid] = val; }
00026      void   resetDelT0(int wireid, double val) { m_delt0[wireid] = val; }
00027      double getT0(int wireid)    const { return m_t0[wireid]; }
00028      double getDelT0(int wireid) const { return m_delt0[wireid]; }
00029      int    getT0Size() const { return m_t0.size(); }
00030 
00031      void   fillQtpar(int order, double val);
00032      void   fillQtpar0(double val) { m_qtpar0.push_back( val ); }
00033      void   fillQtpar1(double val) { m_qtpar1.push_back( val ); }
00034      void   resetQtpar(int lay, int order, double val);
00035      void   resetQtpar0(int lay, double val) { m_qtpar0[lay] = val; }
00036      void   resetQtpar1(int lay, double val) { m_qtpar1[lay] = val; }
00037      double getQtpar(int lay, int order) const;
00038      double getQtpar0(int lay) const { return m_qtpar0[lay]; }
00039      double getQtpar1(int lay) const { return m_qtpar1[lay]; }
00040      int    getQtSize() const { return m_qtpar0.size(); }
00041 
00042      void   fillSdpar(int key, double val);
00043      void   resetSdpar(int lay, int entr, int lr, int bin, double val);
00044      int    getSdSize() const { return m_sdmap.size(); }
00045      void   setSdBegin();
00046      int    getNextSdpar(int& key, double& sdpar);
00047      double getSdpar(int lay, int entr, int lr, int bin);
00048      int getSdKey(int lay, int entr, int lr, int bin) const;
00049 
00050      void   clear();
00051 
00052 private:
00053      std::map<int, double> m_xtmap;
00054      std::vector<double>   m_t0;
00055      std::vector<double>   m_delt0;
00056      std::vector<double>   m_qtpar0;
00057      std::vector<double>   m_qtpar1;
00058      std::map<int, double> m_sdmap;
00059 
00060      std::map<int, double>::iterator m_xtiter;
00061      std::map<int, double>::iterator m_sditer;
00062 
00063      static const int XTLAYER_INDEX    = 11;
00064      static const int XTLAYER_MASK     = 0x1F800;
00065 
00066      static const int XTENTRA_INDEX    = 6;
00067      static const int XTENTRA_MASK     = 0x7C0;
00068 
00069      static const int XTLR_INDEX       = 4;
00070      static const int XTLR_MASK        = 0x30;
00071 
00072      static const int XTORDER_INDEX    = 0;
00073      static const int XTORDER_MASK     = 0xF;
00074 
00075 
00076      static const int SDLAYER_INDEX    = 10;
00077      static const int SDLAYER_MASK     = 0xFC00;
00078 
00079      static const int SDENTRA_INDEX    = 7;
00080      static const int SDENTRA_MASK     = 0x380;
00081 
00082      static const int SDLR_INDEX       = 5;
00083      static const int SDLR_MASK        = 0x60;
00084 
00085      static const int SDBIN_INDEX      = 0;
00086      static const int SDBIN_MASK       = 0x1F;
00087 };
00088 
00089 #endif /* MDCCALIBCONST_H */

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