def dRdE(E, A, mx, sig, f_interp): int_factor = sig * verne.calcSIFormFactor(E, A) * A**2 return rate_prefactor(A, mx) * int_factor * calcEta( MB.vmin(E, A, mx), f_interp)
def ERmax(mX, mA, v): return 2 * (mu(mX, mA) * v)**2 / mA m_x = 1e5 v_vals = np.linspace(0.1, 800, 100) #Calculating correction factors... print " Calculating for Lead..." sig_corr_Pb = v_vals * 0.0 ER_corr_Pb = v_vals * 0.0 for i, v in enumerate(v_vals): sig_corr_Pb[i] = quad( lambda x: verne.calcSIFormFactor( x * (1e6 / (3e5 * 3e5)) * ERmax(m_x, 0.9315 * 207, v), 207), 0, 1)[0] ER_corr_Pb[i] = quad( lambda x: 2.0 * x * verne.calcSIFormFactor( x * (1e6 / (3e5 * 3e5)) * ERmax(m_x, 0.9315 * 207, v), 207), 0, 1)[0] print " Calculating for Oxygen..." sig_corr_O = v_vals * 0.0 ER_corr_O = v_vals * 0.0 for i, v in enumerate(v_vals): sig_corr_O[i] = quad( lambda x: verne.calcSIFormFactor( x * (1e6 / (3e5 * 3e5)) * ERmax(m_x, 0.9315 * 16, v), 16), 0, 1)[0] ER_corr_O[i] = quad( lambda x: 2.0 * x * verne.calcSIFormFactor(
def dRdE(E, A, mx, sig, interpfun, vmax): int_factor = sig * verne.calcSIFormFactor(E, A) * A**2 return rate_prefactor(A, mx) * int_factor * calcEta_final( MB.vmin(E, A, mx), interpfun, vmax)