/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Calibration/CalibData/CalibData-00-01-18/CalibData/Dedx/DedxCalibData.h

Go to the documentation of this file.
00001 // $Header: /bes/bes/BossCvs/Calibration/CalibData/CalibData/Dedx/DedxCalibData.h,v 1.8 2010/10/08 01:12:53 huangb Exp $
00002 #ifndef CalibData_DedxCalibData_h
00003 #define CalibData_DedxCalibData_h
00004 
00005 /* @class CalibData_DedxCalibData_h
00006 
00007   calibration data class  
00008   calibration infrastructure
00009 
00010   @author huangb
00011 */
00012 
00013 #include "CalibData/CalibModel.h"
00014 #include "CalibData/CalibBase1.h"
00015 #include <vector>
00016 using namespace std;
00017 namespace CalibData {
00018   class DedxCalibData:  public CalibBase1{
00019  
00020      public:
00021     DedxCalibData(){};
00022 
00023     virtual ~DedxCalibData() {
00024                                  }
00025 
00026     // Re-implemented from DataObject
00027     inline virtual const CLID& clID() const { return classID(); } 
00028     
00029     inline static  const CLID& classID() { return CLID_Calib_DedxCal; }
00030 
00031     virtual StatusCode   update(CalibBase1& other, MsgStream* log);
00032  
00033     
00034     //set the Calibration data by matrix element
00035     void setddg(const double ddg,int i,int j);
00036   
00037     void setggs(const double ggs,int i,int j);
00038     
00039     void setwireg(const double wireg,int i);
00040   
00041     void setgain(const double gain);
00042      
00043     void setzdep(const double zdep,int i,int j);
00044 
00045     void setresol(const double resol);
00046     
00047     void setlayerg(const double layerg,int i);
00048  
00049     void setenta(const double enta,int i,int j);
00050 
00051     void setrunNO(const int run_NO);  
00052     void setrung(const double rung,int i,int j);    
00053 
00054     //get the Calibration Data
00055      
00056     double  getddg(int i,int j) const{return m_ddg[i][j];}
00057 
00058     double  getggs(int i,int j) const{return m_ggs[i][j];}
00059     
00060     double  getwireg(int i) const{return m_wireg[i];}
00061 
00062     double  getgain() const {return m_gain;}
00063    
00064     double  getzdep(int i,int j) const{return m_zdep[i][j];}
00065 
00066     double  getresol() const {return m_resol;}
00067        
00068     double  getlayerg(int i) const{return m_layerg[i];}
00069 
00070     double getenta(int i,int j) const{return m_enta[i][j];}
00071     
00072     int getrunNO() const {return m_runNO; }
00073     double getrung(int i,int j) const{
00074     if(j>=m_runNO) return 0;
00075    if(i==0) return *(m_rung1.begin()+j);
00076    if(i==1) return *(m_rung2.begin()+j);
00077    if(i==2) return *(m_rung3.begin()+j);
00078    if(i==3) return *(m_rung4.begin()+j);};
00079     // add on June 4th,2009
00080     double get_id_doca(int i) const{return m_id_doca[i];}
00081     double get_iner_chi(int i) const{return m_iner_chi[i];}
00082     double get_iner_gain(int i) const{return m_iner_gain[i];}
00083     double get_iner_hits(int i) const{return m_iner_hits[i];}
00084     double get_ip_eangle(int i) const{return  m_ip_eangle[i];}
00085     double get_out_chi(int i) const{return m_out_chi[i];}
00086     double get_out_gain(int i) const{return m_out_gain[i];}
00087     double get_out_hits(int i)   const{return m_out_hits[i];}
00088     double get_costheta(int i)  const{return m_costheta[i];}
00089     double get_t0(int i)  const{return m_t0[i];}
00090     double get_dedx(int i) const{return m_dedx[i];}
00091     double get_hadron(int i) const{return m_hadron[i];}
00092     int get_hadronNo() const{return m_hadronNo;}   
00093     int get_enanglesize() const{return m_enanglesize;}
00094     double get_enangle(int i) const{return m_enangle[i];}
00095 
00096    void set_id_doca(const double aa,int i) { m_id_doca[i]=aa;}
00097    void set_iner_chi(const double aa,int i) { m_iner_chi[i]=aa;}
00098    void set_iner_gain(const double aa,int i) { m_iner_gain[i]=aa;}
00099    void set_iner_hits(const double aa,int i) { m_iner_hits[i]=aa;}
00100    void set_ip_eangle(const double aa,int i) { m_ip_eangle[i]=aa;}
00101    void set_out_chi(const double aa,int i) { m_out_chi[i]=aa;}
00102    void set_out_gain(const double aa,int i) { m_out_gain[i]=aa;}
00103    void set_out_hits(const double aa,int i) { m_out_hits[i]=aa;}
00104    void set_costheta(const double aa,int i) { m_costheta[i]=aa;}
00105    void set_t0(const double aa,int i) { m_t0[i]=aa;}
00106    void set_dedx(const double aa,int i)  {m_dedx[i]=aa;}
00107    void set_hadron(const double aa,int i)  {m_hadron[i]=aa;}
00108    void set_hadronNo(int no){m_hadronNo=no;}
00109    void set_enanglesize(int no){m_enanglesize=no;}
00110    void set_enangle(const double aa,int i) {m_enangle[i]=aa;}
00111 
00112   private:
00113    int m_runNO;   
00114 
00115    double m_ddg[4][43];
00116    double m_ggs[4][43];
00117    double m_wireg[6796];
00118    double m_gain;
00119    double m_zdep[4][43];
00120    double m_resol;
00121    double m_layerg[43];
00122    double m_enta[4][43]; 
00123   // double m_rung[4][1000];
00124    vector<double> m_rung1;
00125    vector<double> m_rung2;
00126    vector<double> m_rung3;
00127    vector<double> m_rung4;
00128    //vector <Double_t> rung   
00129  
00130    // add on June 4th,2009
00131    double m_id_doca[1600];
00132    double m_iner_chi[1600];
00133    double m_iner_gain[1600];
00134    double m_iner_hits[1600];
00135    double m_ip_eangle[1600];
00136    double m_out_chi[1600];
00137    double m_out_gain[1600];
00138    double m_out_hits[1600];
00139    double m_costheta[80];
00140    double m_t0[35];
00141    double m_dedx[35];
00142    double m_hadron[20];
00143    double m_enangle[100];
00144    int m_hadronNo;
00145    int m_enanglesize;
00146   };
00147 }
00148 
00149 
00150 #endif

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