The SKIRT project
advanced radiative transfer for astrophysics
ResourceSED Class Referenceabstract

#include <ResourceSED.hpp>

Inheritance diagram for ResourceSED:

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
Public Member Functions inherited from SED
Range normalizationWavelengthRange () const
Public Member Functions inherited from SimulationItem
template<class T>
T * find (bool setup=true) const
template<class T>
T * interface (int upLevels, int downLevels, bool setup) const
virtual string itemName () const
void setup ()
string typeAndName () const
Public Member Functions inherited from Item
 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

 ResourceSED ()
virtual string resourceName () const =0
void setupSelfBefore () override
Protected Member Functions inherited from ContSED
 ContSED ()
Protected Member Functions inherited from SED
 SED ()
Random * random () const
void setupSelfBefore () override
Protected Member Functions inherited from SimulationItem
 SimulationItem ()
virtual bool offersInterface (const std::type_info &interfaceTypeInfo) const
virtual void setupSelfAfter ()
Protected Member Functions inherited from Item
 Item ()

Private Types

using BaseType
using ItemType

Private Attributes

Array _lambdav
double _Ltot
Array _Pv
Array _pv
StoredTable< 1 > _table

Friends

class ItemRegistry

Detailed Description

ResourceSED is an abstract class for representing a spectral energy distribution loaded from a resource in SKIRT stored table format. The subclass must provide the name of the resource.

Constructor & Destructor Documentation

◆ ResourceSED()

ResourceSED::ResourceSED ( )
inlineprotected

Default constructor for abstract Item subclass ResourceSED: "a spectral energy distribution loaded from a resource".

Member Function Documentation

◆ generateWavelength()

double ResourceSED::generateWavelength ( ) const
overridevirtual

This function draws a random wavelength from the normalized spectral energy distribution.

Implements SED.

◆ integratedLuminosity()

double ResourceSED::integratedLuminosity ( const Range & wavelengthRange) const
overridevirtual

This function returns the normalized integrated luminosity \(L\) (i.e. radiative power) over the specified wavelength range.

Implements SED.

◆ intrinsicWavelengthRange()

Range ResourceSED::intrinsicWavelengthRange ( ) const
overridevirtual

This function returns the intrinsic wavelength range of the SED. For the current class, the range is retrieved from the underlying stored table.

Implements SED.

◆ resourceName()

virtual string ResourceSED::resourceName ( ) const
protectedpure virtual

This function must be implemented in each subclass to return the name of the stored table resource tabulating the SED.

Implemented in QuasarSED, and SunSED.

◆ setupSelfBefore()

void ResourceSED::setupSelfBefore ( )
overrideprotectedvirtual

This function opens the stored table resource tabulating the SED and sets up the cumulative distribution that will be used to sample random wavelengths.

Reimplemented from SimulationItem.

◆ specificLuminosity()

double ResourceSED::specificLuminosity ( double wavelength) const
overridevirtual

This function returns the normalized specific luminosity \(L_\lambda\) (i.e. radiative power per unit of wavelength) at the specified wavelength.

Implements ContSED.

◆ specificLuminosityArray()

void ResourceSED::specificLuminosityArray ( Array & lambdav,
Array & pv,
const Range & wavelengthRange ) const
overridevirtual

This function returns the normalized specific luminosity \(L_\lambda\) (i.e. radiative power per unit of wavelength) at a number of wavelength points within the specified wavelength range.

Implements ContSED.


The documentation for this class was generated from the following file: