示例#1
0
def dRdEAr(m, E, eff, epsilon=1e-5, mu_x=1e-5, millicharge=False, m_dipole=False, **kwargs):
    s = np.zeros_like(E)
    if millicharge:
        s += eff(E)*DMU.dRdE_millicharge(E, m, epsilon, "Ar40", **kwargs)
    if m_dipole:
        s += eff(E)*DMU.dRdE_magnetic(E, m, mu_x, "Ar40", **kwargs)
    return s
示例#2
0
 def dRdE(ER_keV, m_x, **kwargs):
     #Load in the list of nuclear spins, atomic masses and mass fractions
     nuclei_Xe = ["Xe128", "Xe129", "Xe130", "Xe131", "Xe132", "Xe134", "Xe136"]
     nuclei_list = np.loadtxt("Nuclei.txt", usecols=(0,), dtype='string')
     frac_list = np.loadtxt("Nuclei.txt", usecols=(3,))
     frac_vals = dict(zip(nuclei_list, frac_list))
     
     dRdE = np.zeros_like(ER_keV)
     for nuc in nuclei_Xe:
         if millicharge:
             dRdE += frac_vals[nuc]*DMU.dRdE_millicharge(ER_keV, m_x, epsilon, nuc, **kwargs)
         if m_dipole:
             dRdE += frac_vals[nuc]*DMU.dRdE_magnetic(ER_keV, m_x, mu_x, nuc, **kwargs)
     return dRdE