#include <TabulatedSED.hpp>
Public Member Functions | |
double | generateWavelength () const override |
double | integratedLuminosity (const Range &wavelengthRange) const override |
Range | intrinsicWavelengthRange () const override |
double | specificLuminosity (double wavelength) const override |
void | specificLuminosityArray (Array &lambdav, Array &pv, const Range &wavelengthRange) const override |
virtual double | specificLuminosity (double wavelength) const =0 |
virtual void | specificLuminosityArray (Array &lambdav, Array &pv, const Range &wavelengthRange) const =0 |
![]() | |
virtual double | generateWavelength () const =0 |
virtual double | integratedLuminosity (const Range &wavelengthRange) const =0 |
virtual Range | intrinsicWavelengthRange () const =0 |
Range | normalizationWavelengthRange () const |
![]() | |
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 | |
TabulatedSED () | |
virtual void | getWavelengthsAndLuminosities (Array &lambdav, Array &pv) const =0 |
void | setupSelfBefore () override |
![]() | |
ContSED () | |
![]() | |
SED () | |
Random * | random () const |
void | setupSelfBefore () override |
![]() | |
SimulationItem () | |
virtual bool | offersInterface (const std::type_info &interfaceTypeInfo) const |
virtual void | setupSelfAfter () |
virtual void | setupSelfBefore () |
![]() | |
Item () | |
Private Types | |
using | BaseType = ContSED |
using | ItemType = TabulatedSED |
Private Attributes | |
Array | _inlambdav |
Array | _inpv |
Array | _lambdav |
Array | _pv |
Array | _Pv |
Friends | |
class | ItemRegistry |
TabulatedSED is an abstract class for representing spectral energy distributions that are tabulated by the user in the form of wavelength/luminosity pairs. The wavelengths must be listed in increasing or decreasing order. The luminosity outside the range indicated by the first and the last wavelength is considered to be zero.
The subclass must load the tabulated data, and this abstract class handles everything else.
|
inlineprotected |
Default constructor for abstract Item subclass TabulatedSED : "a spectral energy distribution tabulated by the user" .
|
overridevirtual |
This function draws a random wavelength from the normalized spectral energy distribution.
Implements SED.
|
protectedpure virtual |
This function must be implemented in each subclass to return the wavelengths and the corresponding luminosities tabulating the SED. The function must guarantee that both arrays have the same size. The wavelengths must be listed in increasing or decreasing order. Constant scaling of the luminosities is not important because the SED will be normalized by this abstract class.
|
overridevirtual |
This function returns the normalized integrated luminosity
Implements SED.
|
overridevirtual |
This function returns the intrinsic wavelength range of the SED. For the current class, the range is simply obtained from the tabulated wavelengths.
Implements SED.
|
overrideprotectedvirtual |
This function asks the subclass to load the wavelength/luminosity pairs and precalculates the cumulative distribution for use by the other functions in this class.
Reimplemented from SED.
|
overridevirtual |
This function returns the normalized specific luminosity
Implements ContSED.
|
overridevirtual |
This function returns the normalized specific luminosity
Implements ContSED.