ThickTarget#
- class sunkit_spex.models.physical.nonthermal.ThickTarget(
- p=None,
- break_energy=None,
- q=None,
- low_e_cutoff=None,
- high_e_cutoff=None,
- total_eflux=None,
- integrator=None,
- **kwargs,
Bases:
FittableModelCalculates the thick-target bremsstrahlung radiation of a dual power-law electron distribution.
[1] Brown, Solar Physics 18, 489 (1971) (https://link.springer.com/article/10.1007/BF00149070) [2] https://hesperia.gsfc.nasa.gov/ssw/packages/xray/doc/brm_thick_doc.pdf [3] https://hesperia.gsfc.nasa.gov/ssw/packages/xray/idl/brm2/brm2_thicktarget.pro
- Parameters:
energy_edges (1d array) – Edges of energy bins in units of keV.
total_eflux (int or float) – Total integrated electron flux, in units of 10^35 e^- s^-1. Need to take care here as the model returns units of cm-2 sec-1 as the scaling factor of 1e35 is hidden. So actual units are 1.0d35 e^- s^-1.
p (int or float) – Power-law index of the electron distribution below the break.
q (int or float) – Power-law index of the electron distribution above the break.
low_e_cutoff (int or float) – Low-energy cut-off of the electron distribution in units of keV.
high_e_cutoff (int or float) – High-energy cut-off of the electron distribution in units of keV.
- Returns:
A 1d array of thick-target bremsstrahlung radiation in units
of ph s^-1 keV^-1.
Attributes Summary
This property is used to indicate what units or sets of units the evaluate method expects, and returns a dictionary mapping inputs to units (or
Noneif any units are accepted).Names of the parameters that describe models of this type.
This property is used to indicate what units or sets of units the output of evaluate should be in, and returns a dictionary mapping outputs to units (or
Noneif any units are accepted).Methods Summary
__call__(*inputs[, model_set_axis, ...])Evaluate this model using the given input(s) and the parameter values that were specified when the model was instantiated.
evaluate(energy_edges, p, break_energy, q, ...)Evaluate the model on some input variables.
Attributes Documentation
- break_energy = Parameter('break_energy', value=100.0, unit=keV)#
- high_e_cutoff = Parameter('high_e_cutoff', value=1500.0, unit=keV, fixed=True)#
- input_units#
- low_e_cutoff = Parameter('low_e_cutoff', value=7.0, unit=keV)#
- n_inputs = 1#
- n_outputs = 1#
- p = Parameter('p', value=2.0)#
- param_names = ('p', 'break_energy', 'q', 'low_e_cutoff', 'high_e_cutoff', 'total_eflux')#
Names of the parameters that describe models of this type.
The parameters in this tuple are in the same order they should be passed in when initializing a model of a specific type. Some types of models, such as polynomial models, have a different number of parameters depending on some other property of the model, such as the degree.
When defining a custom model class the value of this attribute is automatically set by the
Parameterattributes defined in the class body.
- q = Parameter('q', value=5.0, fixed=True, bounds=(0.01, None))#
- return_units#
- total_eflux = Parameter('total_eflux', value=1.5, unit=electron / s, fixed=True)#
Methods Documentation
- __call__(
- *inputs,
- model_set_axis=None,
- with_bounding_box=False,
- fill_value=nan,
- equivalencies=None,
- inputs_map=None,
- **new_inputs,
Evaluate this model using the given input(s) and the parameter values that were specified when the model was instantiated.