示例#1
0
import numpy as np
import matplotlib.pyplot as plt
from becquerel.tools.isotope import Isotope
from becquerel.tools.isotope_qty import IsotopeQuantity, NeutronIrradiation
import datetime
from becquerel import Spectrum
import Calibration_sources as ca
from scipy.optimize import curve_fit

"""creates efficiency data needed to calculate concetrations of
isotopes present in the measured samples"""

#create a queue of the calibration sources used
Na_22_spec = Spectrum.from_file('/Users/jackiegasca/Documents/Ca_sources/Na_22_flat_against_detector_531.Spe')
Mn_54_spec = Spectrum.from_file('/Users/jackiegasca/Documents/Ca_sources/Mn_54_flat_against_detector_1264-96-2.Spe')
Co_57_spec = Spectrum.from_file('/Users/jackiegasca/Documents/Ca_sources/Co_57_flat_against_detector_1264-96-3.Spe')
Cd_109_spec = Spectrum.from_file('/Users/jackiegasca/Documents/Ca_sources/Cd_109_flat_against_detector_1264-96-8.Spe')
Th_228_spec = Spectrum.from_file('/Users/jackiegasca/Documents/Ca_sources/Th_228_flat_against_detector_1415-83.Spe')
Eu_152_spec = Spectrum.from_file('/Users/jackiegasca/Documents/Ca_sources/Eu_152_flat_against_detector_1316-97-2.Spe')


Na_22_start = Na_22_spec.start_time
Mn_54_start = Mn_54_spec.start_time
Co_57_start = Co_57_spec.start_time
Cd_109_start = Cd_109_spec.start_time
Th_228_start = Th_228_spec.start_time
Eu_152_start = Eu_152_spec.start_time

Na_22_init_act = IsotopeQuantity('na22', date=ca.Na_22.date, uci=ca.Na_22.init_act)
Na_22_act = Na_22_init_act.bq_at(Na_22_start)
Mn_54_init_act = IsotopeQuantity('mn54', date=ca.Mn_54.date, uci=ca.Mn_54.init_act)
import numpy as np
from becquerel.tools.isotope import Isotope
from becquerel.tools.isotope_qty import IsotopeQuantity, NeutronIrradiation
import datetime
from becquerel import Spectrum
import efficiencies as ef
from bs4 import BeautifulSoup
import urllib.request
import math
import NAA_Isotopes as na
from uncertainties import ufloat



#load a spectra for testing
spec_S1 = Spectrum.from_file('/Users/jackiegasca/Documents/spectras/Sample1_30m_C.Spe')

back_spec = Spectrum.from_file('/Users/jackiegasca/Documents/2017.5.1_long_background.Spe')


#For now, just use an existing dictionary/class of isotopes
spec_S1_ener_spec = spec_S1.energies_kev[0:len(spec_S1)]
back_ener_spec = back_spec.energies_kev[0:len(back_spec)]

isotope_list = [na.Br_82, na.Na_24, na.Sb_122, na.K_42]
#Info regarding the irradiation:
irr_start = '2017-04-27 14:02:00'
irr_stop = '2017-04-27 14:12:00'
flux = 3.1e11
N_0 = 6.02e23