XrbLc

class rubin_sim.maf.maf_contrib.XrbLc(seed=42)

Bases: object

Synthesize XRB outburst lightcurves.

Methods Summary

detectable_duration(params, ebv, distance)

Determine time range an outburst is detectable with perfect sampling.

fred(t, amplitude, tau_rise, tau_decay)

Fast-rise, exponential decay function.

lightcurve(t, filtername, params)

Generate an XRB outburst lightcurve for given times and a single filter.

lmxb_abs_mags([size])

Return LMXB absolute magnitudes per LSST filter.

outburst_params([size])

Return a parameters at random characterizing the outburst.

Methods Documentation

detectable_duration(params, ebv, distance)

Determine time range an outburst is detectable with perfect sampling.

Does not consider visibility constraints.

Parameters:
paramsdict

lightcurve parameters for XrbLc

ebvfloat

E(B-V)

distancefloat

distance in kpc

Returns:
visible_start_timefloat

first time relative to outburst start that the outburst could be detected

visible_end_timefloat

last time relative to outburst start that the outburst could be detected

fred(t, amplitude, tau_rise, tau_decay)

Fast-rise, exponential decay function.

Amplitude is defined at the peak time = sqrt(tau_rise*tau_decay).

See e.g., Tarnopolski 2021 for discussion.

Parameters:
tarray [float]

The times relative to the start of the outburst

amplitudefloat

Peak amplitude

tau_risefloat

E-folding time for the rise

tau_decayfloat

E-folding time for the decay

lightcurve(t, filtername, params)

Generate an XRB outburst lightcurve for given times and a single filter.

Uses a simple fast-rise, exponential decay with parameters taken from Chen, Shrader, & Livio 1997 (ApJ 491, 312).

For now we ignore the late time linear decay (Tetarenko+2018a,b, and references therein.)

Parameters:
tarray [float]

The times relative to the start of the outburst

filternamestr

The filter. one of ugrizy

paramsdict

parameters for the FRED lightcurve.

Returns:
lcarray

Magnitudes of the outburst at the specified times in the given filter

lmxb_abs_mags(size=1)

Return LMXB absolute magnitudes per LSST filter.

Absolute magnitude relation is taken from Casares 2018 (2018MNRAS.473.5195C) Colors are taken from M. Johnson+ 2019 (2019MNRAS.484…19J)

Parameters:
sizeint

Number of samples to generate.

Returns:
abs_magslist [dict]

Absolute magnitudes for each LSST filter.

Porbs: array [float]

Randomized orbital periods in days

outburst_params(size=1)

Return a parameters at random characterizing the outburst.

Uses distributions from Chen, Shrader, & Livio 1997 (ApJ 491, 312).

Returns:
paramslist [dict]

Rise, decay, and amplitude parameters.