/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Calibration/CalibData/CalibData-00-01-18/CalibData/Mdc/MdcCalibData.h

Go to the documentation of this file.
00001 #ifndef MDCCALIBDATA_H
00002 #define MDCCALIBDATA_H
00003 
00004 #include <map>
00005 #include <vector>
00006 #include "TTree.h" 
00007 #include "TObjArray.h" 
00008 #include "TBufferFile.h" 
00009 #include "GaudiKernel/DataObject.h"
00010 #include "CalibData/CalibModel.h"
00011 #include "CalibData/CalibBase1.h"
00012 typedef std::map<int, double>::value_type valType;
00013 namespace CalibData {
00014   class MdcCalibData:  public CalibBase1{
00015 public:
00016      MdcCalibData();
00017      ~MdcCalibData();
00018      //virtual ~MdcCalibData() {}
00019      // Re-implemented from DataObject
00020      inline virtual const CLID& clID() const { return classID(); } 
00021     
00022      inline static  const CLID& classID() { return CLID_Calib_MdcCal; }
00023 
00024      virtual StatusCode   update(CalibBase1& other, MsgStream* log);
00025 
00026      void setXtpar(int xtkey,double val);//huangb add 
00027      void setNewXtpar(TObjArray* newXtTrees);//yzhang add 2011-12-12 
00028      void setR2tpar(TObjArray* r2tTrees);//yzhang add 2011-12-15 
00029      void setT0(double val);
00030      void setDelT0(double val);
00031      void setQtpar0(double val);
00032      void setQtpar1(double val);
00033      // parameters of sigma vs. distance
00034      void setSdpar(int sdkey,double val);     //huangb add 
00035 
00036      double getXtpar(int layid, int entr, int lr, int order); /* wulh updated on 08-3-24 */
00037      TTree* getNewXtpar(int layid, int entr, int lr); /* yzhang updated on 2011-12-12 */
00038      TTree* getR2tpar(int layid); /* yzhang updated on 2011-12-15 */
00039      double getT0(int wireid) { return m_t0[wireid]; }
00040      double getDelT0(int wireid) { return m_delt0[wireid]; }
00041      double getQtpar0(int layid) { return m_qtpar0[layid]; }
00042      double getQtpar1(int layid) { return m_qtpar1[layid]; }
00043      double getSdpar(int layid, int entr, int lr, int bin); /* wulh updated on 08-3-24 */
00044      void clear();
00045 
00046      int getXtKey(int layid, int entr, int lr, int order); /* wulh updated on 08-3-24 */
00047      void setXtBegin();
00048      int getNextXtpar(int& key, double& xtpar);
00049 
00050      int getSdKey(int layid, int entr, int lr, int bin); /* wulh updated on 08-3-24 */
00051      void setSdBegin();
00052      int getNextSdpar(int& key, double& sdpar);
00053         
00054     
00055      //acquire the size of the vectors and maps 
00056      //huangb add
00057      int getqtparNo() {return m_qtpar0.size();}
00058      int getxtNo() { return m_xtmap.size(); }
00059      int gett0No() { return m_t0.size(); }
00060    
00061 private:
00062      std::map<int, double> m_xtmap;
00063 
00064      TBufferFile* newXtTreesBuf;
00065      TBufferFile* r2tTreesBuf;
00066      TObjArray* newXtTreesArray;
00067      TObjArray* r2tTreesArray;
00068      TTree* m_newxt[43][18][2];
00069      TTree* m_r2t[43];
00070      //TBufferFile* newXtTreesBuf;
00071      //TBufferFile* r2tTreesBuf;
00072      //TObjArray* newXtTreesArray;
00073      //TObjArray* r2tTreesArray;
00074      //TTree* m_newxt[43][18][2];
00075      //TTree* m_r2t[43];
00076 
00077      std::vector<double> m_t0;
00078      std::vector<double> m_delt0;
00079      std::vector<double> m_qtpar0;
00080      std::vector<double> m_qtpar1;
00081      std::map<int, double> m_sdmap;
00082    
00083      std::map<int, double>::iterator m_xtiter;
00084      std::map<int, double>::iterator m_sditer;
00085      static const int XTLAYER_INDEX    = 11;
00086      static const int XTLAYER_MASK     = 0x1F800;
00087 
00088      static const int XTENTRA_INDEX    = 6;
00089      static const int XTENTRA_MASK     = 0x7C0;
00090 
00091      static const int XTLR_INDEX       = 4;
00092      static const int XTLR_MASK        = 0x30;
00093 
00094      static const int XTORDER_INDEX    = 0;
00095      static const int XTORDER_MASK     = 0xF;
00096 
00097 
00098      static const int SDLAYER_INDEX    = 10;
00099      static const int SDLAYER_MASK     = 0xFC00;
00100 
00101      static const int SDENTRA_INDEX    = 7;
00102      static const int SDENTRA_MASK     = 0x380;
00103 
00104      static const int SDLR_INDEX       = 5;
00105      static const int SDLR_MASK        = 0x60;
00106 
00107      static const int SDBIN_INDEX      = 0;
00108      static const int SDBIN_MASK       = 0x1F;
00109 };
00110 }
00111 #endif /* MDCCALIBCONST_H */

Generated on Tue Nov 29 22:57:47 2016 for BOSS_7.0.2 by  doxygen 1.4.7