00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef STTOFSIMPARAM_H
00022 #define STTOFSIMPARAM
00023
00024 class StTofSimParam{
00025 private:
00027 float m_adc_overflow ;
00028 float m_amax_noise ;
00029 float m_amin_noise ;
00030 float m_attlen ;
00031 float m_cath_eff ;
00032 float m_cath_surf ;
00033 float m_delay ;
00034 float m_elec_noise ;
00035 float m_gate_t0 ;
00036 float m_gate_width ;
00037 float m_geo_from_geant ;
00038 float m_GeV_2_n_photons ;
00039 float m_nphe_to_adc ;
00040 float m_phys_noise ;
00041 float m_position_tolerance ;
00042 float m_slat_para ;
00043 float m_start_res ;
00044 float m_surf_loss ;
00045 float m_tdc_overflow ;
00046 float m_time_res ;
00047
00049 int m_n_gap ;
00050 int m_nmax_clus ;
00051 float m_d_in ;
00052 float m_d_out ;
00053 float m_d_gap ;
00054 float m_alpha_dg ;
00055 float m_er ;
00056 float m_clus_par[4] ;
00057 float m_vd_mean ;
00058 float m_nmean_e ;
00059 float m_nmax_e ;
00060 float m_dt ;
00061 int m_ndt ;
00062 float m_toffset ;
00063 float m_adc_thre ;
00064 float m_xtalk_dy ;
00065 float m_res_fee ;
00066
00068 float m_res_tof ;
00069 float m_thre_tof ;
00070 float m_res_vpd ;
00071 float m_thre_vpd ;
00072
00074 float m_eff_tof[120][192] ;
00075 float m_eff_vpd[50] ;
00076
00078 bool mSimuTofp ;
00079 bool mSimuVpd ;
00080 bool mSimuTofFast ;
00081 bool mSimuTofSlow ;
00082
00083 public:
00084 StTofSimParam();
00085 ~StTofSimParam();
00086 void init();
00087 void print();
00088
00089 float adc_overflow() const;
00090 float attlen() const;
00091 float cath_eff() const;
00092 float cath_surf() const;
00093 float delay() const;
00094 float elec_noise() const;
00095 float gate_t0() const;
00096 float gate_width() const;
00097 float geo_from_geant() const;
00098 float GeV_2_n_photons() const;
00099 float nphe_to_adc() const;
00100 float phys_noise() const;
00101 float position_tolerance() const;
00102 float slat_para() const;
00103 float start_res() const;
00104 float surf_loss() const;
00105 float tdc_overflow() const;
00106 float time_res() const;
00107
00108 int ngap() const;
00109 int nmaxclus() const;
00110 float din() const;
00111 float dout() const;
00112 float dg() const;
00113 float alpha() const;
00114 float er() const;
00115 float ka() const;
00116 float nclus(float beta) const;
00117 float vd_mean() const;
00118 float nmeane() const;
00119 float nmaxe() const;
00120 float dt() const;
00121 int ndt() const;
00122 float toffset() const;
00123 float adc_thre() const;
00124 float dy_xtalk() const;
00125 float timeres_fee() const;
00126
00127 float timeres_tof() const;
00128 float thre_tof() const;
00129 float timeres_vpd() const;
00130 float thre_vpd() const;
00131
00132 float eff_tof(int itray, int imodule, int icell) const;
00133 float eff_vpd(int itray, int itube) const;
00134
00135 bool simuTofp() const;
00136 bool simuVpd() const;
00137 bool simuTofFast() const;
00138 bool simuTofSlow() const;
00139
00140 void setSimuTofp(bool val) ;
00141 void setSimuVpd(bool val) ;
00142 void setSimuTofFast(bool val) ;
00143 void setSimuTofSlow(bool val) ;
00144
00145 };
00146
00147 inline float StTofSimParam::adc_overflow() const {return m_adc_overflow;}
00148 inline float StTofSimParam::attlen() const {return m_attlen;}
00149 inline float StTofSimParam::cath_eff() const {return m_cath_eff;}
00150 inline float StTofSimParam::cath_surf() const {return m_cath_surf;}
00151 inline float StTofSimParam::delay() const {return m_delay;}
00152 inline float StTofSimParam::elec_noise() const {return m_elec_noise;}
00153 inline float StTofSimParam::gate_t0() const {return m_gate_t0;}
00154 inline float StTofSimParam::gate_width() const {return m_gate_width;}
00155 inline float StTofSimParam::geo_from_geant() const {return m_geo_from_geant;}
00156 inline float StTofSimParam::GeV_2_n_photons() const {return m_GeV_2_n_photons;}
00157 inline float StTofSimParam::nphe_to_adc() const {return m_nphe_to_adc;}
00158 inline float StTofSimParam::phys_noise() const {return m_phys_noise;}
00159 inline float StTofSimParam::position_tolerance() const {return m_position_tolerance;}
00160 inline float StTofSimParam::slat_para() const {return m_slat_para;}
00161 inline float StTofSimParam::start_res() const {return m_start_res;}
00162 inline float StTofSimParam::surf_loss() const {return m_surf_loss;}
00163 inline float StTofSimParam::tdc_overflow() const {return m_tdc_overflow;}
00164 inline float StTofSimParam::time_res() const {return m_time_res;}
00165
00166 inline int StTofSimParam::ngap() const {return m_n_gap;}
00167 inline int StTofSimParam::nmaxclus() const {return m_nmax_clus;}
00168 inline float StTofSimParam::din() const {return m_d_in;}
00169 inline float StTofSimParam::dout() const {return m_d_out;}
00170 inline float StTofSimParam::dg() const {return m_d_gap;}
00171 inline float StTofSimParam::alpha() const {return m_alpha_dg/m_d_gap;}
00172 inline float StTofSimParam::er() const {return m_er;}
00173 inline float StTofSimParam::ka() const {return m_er*m_d_gap/(m_n_gap*m_er*m_d_gap+(m_n_gap-1)*m_d_in+2*m_d_out);}
00174 inline float StTofSimParam::vd_mean() const {return m_vd_mean;}
00175 inline float StTofSimParam::nmeane() const {return m_nmean_e;}
00176 inline float StTofSimParam::nmaxe() const {return m_nmax_e;}
00177 inline float StTofSimParam::dt() const {return m_dt;}
00178 inline int StTofSimParam::ndt() const {return m_ndt;}
00179 inline float StTofSimParam::toffset() const {return m_toffset;}
00180 inline float StTofSimParam::adc_thre() const {return m_adc_thre;}
00181 inline float StTofSimParam::dy_xtalk() const {return m_xtalk_dy;}
00182 inline float StTofSimParam::timeres_fee() const {return m_res_fee;}
00183 inline float StTofSimParam::timeres_tof() const {return m_res_tof;}
00184 inline float StTofSimParam::thre_tof() const {return m_thre_tof;}
00185 inline float StTofSimParam::timeres_vpd() const {return m_res_vpd;}
00186 inline float StTofSimParam::thre_vpd() const {return m_thre_vpd;}
00187 inline float StTofSimParam::eff_tof(int itray, int imodule, int icell) const {return m_eff_tof[itray-1][(imodule-1)*6+(icell-1)];}
00188 inline float StTofSimParam::eff_vpd(int itray, int itube) const {return m_eff_vpd[(itray-121)*19+itube-1];}
00189
00190 inline bool StTofSimParam::simuTofp() const {return mSimuTofp;}
00191 inline bool StTofSimParam::simuVpd() const {return mSimuVpd;}
00192 inline bool StTofSimParam::simuTofFast() const {return mSimuTofFast;}
00193 inline bool StTofSimParam::simuTofSlow() const {return mSimuTofSlow;}
00194
00195 inline void StTofSimParam::setSimuTofp(bool val) {mSimuTofp=val;}
00196 inline void StTofSimParam::setSimuVpd(bool val) {mSimuVpd=val;}
00197 inline void StTofSimParam::setSimuTofFast(bool val) {mSimuTofFast=val;}
00198 inline void StTofSimParam::setSimuTofSlow(bool val) {mSimuTofSlow=val;}
00199
00200 #endif