#include <SingleWavelengthSED.hpp>
Public Member Functions | |
double | generateWavelength () const override |
void | getWavelengthsAndLuminosities (Array &lambdav, Array &Lv) const override |
double | wavelength () const |
![]() | |
double | generateWavelength () const override |
double | integratedLuminosity (const Range &wavelengthRange) const override |
Range | intrinsicWavelengthRange () const override |
![]() | |
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 | |
SingleWavelengthSED () | |
![]() | |
LineSED () | |
virtual void | getWavelengthsAndLuminosities (Array &lambdav, Array &Lv) const =0 |
void | setupSelfBefore () override |
![]() | |
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 = LineSED |
using | ItemType = SingleWavelengthSED |
Private Attributes | |
double | _wavelength |
Friends | |
class | ItemRegistry |
The SingleWavelengthSED class implements a spectral energy distribution in the form of a Dirac-delta function, i.e. a single emission line with zero width. All photon packets are thus emitted at a single, configurable wavelength. The default value for this emission wavelength is the central wavelength of the hydrogen Lyman-alpha line.
Because the specific luminosity of the spectrum is undefined, there are important restrictions on the use of this SED. See the description of the LineSED class for more information.
|
inlineprotected |
Default constructor for concrete Item subclass SingleWavelengthSED : "a single-wavelength SED in the form of a Dirac-delta function" .
|
overridevirtual |
This function always returns the single emission wavelength. It is overridden here to avoid the random number generation needed in the base class for selecting between multiple lines.
Reimplemented from LineSED.
|
overridevirtual |
This function return the single, configured emission wavelength and an arbitrary corresponding relative luminosity.
Implements LineSED.
|
inline |
This function returns the value of the discoverable double property wavelength : "the single emission wavelength" .
This property represents a physical quantity of type "wavelength" .
The minimum value for this property is "1 pm" .
The maximum value for this property is "1 m" .
The default value for this property is given by the conditional value expression "1215.67 Angstrom" .