#include <FileSSPSEDFamily.hpp>
Public Member Functions | |
double | cdf (Array &lambdav, Array &pv, Array &Pv, const Range &wavelengthRange, const Array ¶meters) const override |
string | filename () const |
bool | hasIonizationParameter () const |
Range | intrinsicWavelengthRange () const override |
vector< SnapshotParameter > | parameterInfo () const override |
double | specificLuminosity (double wavelength, const Array ¶meters) const override |
virtual double | cdf (Array &lambdav, Array &pv, Array &Pv, const Range &wavelengthRange, const Array ¶meters) const =0 |
virtual Range | intrinsicWavelengthRange () const =0 |
virtual vector< SnapshotParameter > | parameterInfo () const =0 |
virtual double | specificLuminosity (double wavelength, const Array ¶meters) const =0 |
![]() | |
template<class T > | |
T * | find (bool setup=true) const |
template<class T > | |
T * | interface (int levels=-999999, bool setup=true) const |
virtual string | itemName () const |
void | setup () |
string | typeAndName () const |
![]() | |
Item (const Item &)=delete | |
virtual | ~Item () |
void | addChild (Item *child) |
const vector< Item * > & | children () const |
virtual void | clearItemListProperty (const PropertyDef *property) |
void | destroyChild (Item *child) |
virtual bool | getBoolProperty (const PropertyDef *property) const |
virtual vector< double > | getDoubleListProperty (const PropertyDef *property) const |
virtual double | getDoubleProperty (const PropertyDef *property) const |
virtual string | getEnumProperty (const PropertyDef *property) const |
virtual int | getIntProperty (const PropertyDef *property) const |
virtual vector< Item * > | getItemListProperty (const PropertyDef *property) const |
virtual Item * | getItemProperty (const PropertyDef *property) const |
virtual string | getStringProperty (const PropertyDef *property) const |
int | getUtilityProperty (string name) const |
virtual void | insertIntoItemListProperty (const PropertyDef *property, int index, Item *item) |
Item & | operator= (const Item &)=delete |
Item * | parent () const |
virtual void | removeFromItemListProperty (const PropertyDef *property, int index) |
virtual void | setBoolProperty (const PropertyDef *property, bool value) |
virtual void | setDoubleListProperty (const PropertyDef *property, vector< double > value) |
virtual void | setDoubleProperty (const PropertyDef *property, double value) |
virtual void | setEnumProperty (const PropertyDef *property, string value) |
virtual void | setIntProperty (const PropertyDef *property, int value) |
virtual void | setItemProperty (const PropertyDef *property, Item *item) |
virtual void | setStringProperty (const PropertyDef *property, string value) |
void | setUtilityProperty (string name, int value) |
virtual string | type () const |
Protected Member Functions | |
FileSSPSEDFamily () | |
void | setupSelfBefore () override |
![]() | |
SEDFamily () | |
![]() | |
SimulationItem () | |
virtual bool | offersInterface (const std::type_info &interfaceTypeInfo) const |
virtual void | setupSelfAfter () |
virtual void | setupSelfBefore () |
![]() | |
Item () | |
Private Types | |
using | BaseType = SEDFamily |
using | ItemType = FileSSPSEDFamily |
Private Attributes | |
string | _filename |
bool | _hasIonizationParameter |
StoredTable< 3 > | _table3 |
StoredTable< 4 > | _table4 |
Friends | |
class | ItemRegistry |
An instance of the FileSSPSEDFamily class represents a family of single stellar populations (SSPs) for which the SED templates are provided by the user. For example, the SED templates may be generated by the Flexible Stellar Population Synthesis (FSPS) code (Conroy, Gunn, & White (2009, ApJ, 699, 486) and Conroy & Gunn (2010, ApJ, 712, 833)) and subsequently converted to the appropriate SKIRT stored table format.
By default, the SED templates used with this class are scaled by the initial mass of the SSP and parameterized on metallicity and age, similar to the parametrization of other, built-in SSP template libraries. In this case, the stored table file (with ".stab" filename extension) provided by the user must have three axes labeled lambda(m), Z(1), and t(yr), and a quantity labeled Llambda(W/m) with units as listed between parentheses. For more information on the workflow to be followed for creating such a stored table, refer to the documentation of the "storedtable/do/fsps_to_stored_table.py" script in the Python for SKIRT toolkit (PTS).
On the other hand, if the hasIonizationParameter option is enabled, the SED templates implement an additional parameter, namely the dimensionless ionization parameter U. This allows including nebular continuum and line emission in the spectra, which is especially relevant for young SSPs. In this case, the stored table file (with ".stab" filename extension) provided by the user must have four axes labeled lambda(m), Z(1), t(yr), and U(1), and a quantity labeled Llambda(W/m) with units as listed between parentheses. For more information on the workflow to be followed for creating such a stored table, refer to the documentation of the "storedtable/do/fsps_with_lines_to_stored_table.py" script in the Python for SKIRT toolkit (PTS).
When imported from a text column file, the parameters for this SED family must appear in the following order in the specified default units (unless these units are overridden by column header info):
where the last column should appear only if the hasIonizationParameter option is enabled.
|
inlineprotected |
Default constructor for concrete Item subclass FileSSPSEDFamily : "a user-provided SED family for single stellar populations" .
|
overridevirtual |
This function constructs both the normalized probability density function (pdf) and the corresponding normalized cumulative distribution function (cdf) for the SED with the specified parameters over the specified wavelength range. The function returns the normalization factor. The number and type of parameters must match the information returned by the parameterInfo() function; if not the behavior is undefined.
Implements SEDFamily.
|
inline |
This function returns the value of the discoverable string property filename : "the name of the stored table file defining the SED templates" .
|
inline |
This function returns the value of the discoverable Boolean property hasIonizationParameter : "include ionization U as an extra parameter for the SED family" .
The default value for this property is given by the conditional value expression "false" .
This property is displayed only if the Boolean expression "Level2" evaluates to true after replacing the names by true or false depending on their presence.
|
overridevirtual |
This function returns the intrinsic wavelength range of the SED family. It retrieves this range from the underlying stored table.
Implements SEDFamily.
|
overridevirtual |
This function returns the number and type of parameters used by this particular SED family as a list of SnapshotParameter objects. Each of these objects specifies unit information and a human-readable descripton for the parameter.
Implements SEDFamily.
|
overrideprotectedvirtual |
This function opens the user-specified resource file (in SKIRT stored table format).
Reimplemented from SimulationItem.
|
overridevirtual |
This function returns the specific luminosity
Implements SEDFamily.