Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def __init__(self, name='lorentz2d'):
self.fwhm = Parameter(name, 'fwhm', 10, tinyval, hard_min=tinyval)
self.xpos = Parameter(name, 'xpos', 0)
self.ypos = Parameter(name, 'ypos', 0)
self.ellip = Parameter(name, 'ellip', 0, 0, 0.999, 0, 0.9999,
frozen=True)
self.theta = Parameter(name, 'theta', 0, -2*numpy.pi, 2*numpy.pi, -2*numpy.pi,
4*numpy.pi, 'radians',frozen=True)
self.ampl = Parameter(name, 'ampl', 1)
ArithmeticModel.__init__(self, name,
(self.fwhm, self.xpos, self.ypos, self.ellip,
self.theta, self.ampl))
self.cache = 0
def __init__(self, name='linebroad'):
self.ampl = Parameter(name, 'ampl', 1, 0, hard_min=0)
self.rest = Parameter(name, 'rest', 1000, tinyval, hard_min=tinyval)
self.vsini = Parameter(name, 'vsini', tinyval, tinyval,
hard_min=tinyval)
ArithmeticModel.__init__(self, name,
(self.ampl, self.rest, self.vsini))
set_xlog()
set_ylog()
set_stat('cstat')
set_xsabund('wilm')
set_xsxsect('vern')
id = ids[0]
galabso = bxa.auto_galactic_absorption(id)
galabso.nH.freeze()
# Models available at https://doi.org/10.5281/zenodo.602282
load_table_model("torus", '/home/user/Downloads/specmodels/uxclumpy-cutoff.fits')
load_table_model("scat", '/home/user/Downloads/specmodels/uxclumpy-cutoff-omni.fits')
# the limits correspond to fluxes between Sco X-1 and CDFS7Ms faintest fluxes
srclevel = Parameter('src', 'level', 0, -8, 3, -20, 20)
print('combining components')
model = torus + scat
print('linking parameters')
torus.norm = 10**srclevel
srcnh = Parameter('src', 'nH', 22, 20, 26, 20, 26)
torus.nh = 10**(srcnh - 22)
scat.nh = torus.nh
scat.nh = torus.nh
print('setting redshift')
redshift = Parameter('src', 'z', 1, 0, 5, 0, 10)
torus.redshift = redshift
scat.redshift = redshift
scat.phoindex = torus.phoindex
scat.ecut = torus.ecut
scat.theta_inc = torus.theta_inc
def __init__(self, name='sersic2d'):
self.r0 = Parameter(name, 'r0', 10, 0, hard_min=0)
self.xpos = Parameter(name, 'xpos', 0)
self.ypos = Parameter(name, 'ypos', 0)
self.ellip = Parameter(name, 'ellip', 0, 0, 0.999, 0, 0.9999)
self.theta = Parameter(name, 'theta', 0, -2*numpy.pi, 2*numpy.pi, -2*numpy.pi,
4*numpy.pi, 'radians')
self.ampl = Parameter(name, 'ampl', 1)
self.n = Parameter(name, 'n', 1, .1, 10, 0.01, 100, frozen=True)
ArithmeticModel.__init__(self, name,
(self.r0, self.xpos, self.ypos, self.ellip,
self.theta, self.ampl, self.n))
self.cache = 0
def __init__(self, name='lorentz2d'):
self.fwhm = Parameter(name, 'fwhm', 10, tinyval, hard_min=tinyval)
self.xpos = Parameter(name, 'xpos', 0)
self.ypos = Parameter(name, 'ypos', 0)
self.ellip = Parameter(name, 'ellip', 0, 0, 0.999, 0, 0.9999,
frozen=True)
self.theta = Parameter(name, 'theta', 0, -2*numpy.pi, 2*numpy.pi, -2*numpy.pi,
4*numpy.pi, 'radians',frozen=True)
self.ampl = Parameter(name, 'ampl', 1)
ArithmeticModel.__init__(self, name,
(self.fwhm, self.xpos, self.ypos, self.ellip,
self.theta, self.ampl))
self.cache = 0
def __init__(self, name='normbeta1d'):
self.pos = Parameter(name, 'pos', 0)
self.width = Parameter(name, 'width', 1, tinyval, hard_min=tinyval)
self.index = Parameter(name, 'index', 2.5, 0.5, 1000, 0.5)
self.ampl = Parameter(name, 'ampl', 1, 0)
ArithmeticModel.__init__(self, name,
(self.pos, self.width, self.index, self.ampl))
def __init__(self, name='sigmagauss2d'):
self.sigma_a = Parameter(name, 'sigma_a', 10, tinyval, hard_min=tinyval)
self.sigma_b = Parameter(name, 'sigma_b', 10, tinyval, hard_min=tinyval)
self.xpos = Parameter(name, 'xpos', 0)
self.ypos = Parameter(name, 'ypos', 0)
self.theta = \
Parameter(name, 'theta', 0, -2*numpy.pi, 2*numpy.pi, \
-2*numpy.pi, 4*numpy.pi, 'radians', frozen=True)
self.ampl = Parameter(name, 'ampl', 1)
ArithmeticModel.__init__(self, name,
(self.sigma_a, self.sigma_b, self.xpos,
self.ypos, self.theta, self.ampl))
self.cache = 0
def __init__(self, name='emissionlorentz'):
self.fwhm = Parameter(name, 'fwhm', 100., tinyval, hard_min=tinyval,
units="km/s")
self.pos = Parameter(name, 'pos', 5000., tinyval, frozen=True,
units='angstroms')
self.flux = Parameter(name, 'flux', 1.)
self.kurt = Parameter(name, 'kurt', 2., frozen=True)
ArithmeticModel.__init__(self, name, (self.fwhm, self.pos,
self.flux, self.kurt))
# apec with L(2-10keV) = 1e42 erg/s
# z norm 10keV norm 2keV
# 0.1 40e-6 150e-6
# 0.5 2e-6 6e-6
# 1 0.7e-6 2e-6
# 3 0.15e-6 0.5e-6
# ================================
# z --> 0.5e-6/ z**2 2e-6/z**2
#
if os.environ.get('WITHAPEC', '1') == '1':
model = model + xsapec.apec
apec.redshift = redshift
apec.kT.max = 8
apec.kT.min = 0.2
# normalised so that its luminosity does not go above 1e42 erg/s
apecnorm = Parameter('src', 'apecnorm', -2, -10, 0, -10, 0)
apec.norm = 10**apecnorm * 0.5e-6 / apec.redshift**2
prefix += 'withapec_'
parameters += [apecnorm, apec.kT]
priors += [bxa.create_uniform_prior_for(apecnorm)]
priors += [bxa.create_jeffreys_prior_for(apec.kT)]
if os.path.exists(filename + '.z'):
redshift, zparameters, zpriorfs = bxa.prior_from_file(filename + '.z', redshift)
if len(zparameters) > 0:
prefix += 'zphot_'
else:
prefix += 'zspec_'
priors += zpriorfs
parameters += zparameters
else:
prefix += 'zfree_'
def __init__(self, name='jdpileup'):
self.alpha = Parameter(name, 'alpha', 0.5, 0, 1, 0, 1)
self.g0 = Parameter(name, 'g0', 1, tinyval, 1, tinyval, 1, frozen=True)
self.f = Parameter(name, 'f', 0.95, 0.9, 1, 0, 1)
self.n = Parameter(name, 'n', 1, tinyval, 100, tinyval, 2048,
alwaysfrozen=True)
self.ftime = Parameter(name, 'ftime', 3.241, tinyval, 5, tinyval, 100,
'sec', alwaysfrozen=True)
self.fracexp = Parameter(name, 'fracexp', 0.987, 0, 1, 0, 1,
alwaysfrozen=True)
self.nterms = Parameter(name, 'nterms', 30, 1, 100, 1, 100,
alwaysfrozen=True)
self._results = None
ArithmeticModel.__init__(self, name,
(self.alpha, self.g0, self.f, self.n,
self.ftime, self.fracexp, self.nterms))