Gyoto
|
Black Body. More...
#include <GyotoBlackBodySpectrum.h>
Public Member Functions | |
BlackBody (double T, double scaling=1.) | |
virtual BlackBody * | clone () const |
Cloner. | |
double | getTemperature () const |
Get constant. | |
void | setTemperature (double) |
double | getScaling () const |
Get exponent. | |
void | setScaling (double) |
virtual double | operator() (double nu) const |
I_nu = mySpectrum(nu), nu in Hz. Assumes infinite optical thickness. | |
virtual void | fillElement (FactoryMessenger *fmp) const |
called from Factory | |
const std::string | getKind () const |
Get spectrum kind. | |
virtual double | operator() (double nu, double opacity, double ds) const |
I_nu in optically thin regime. | |
virtual double | integrate (double nu1, double nu2) |
virtual double | integrate (double nu1, double nu2, const Spectrum::Generic *opacity, double ds) |
virtual void | setParameter (std::string name, std::string content) |
To be called by fillElement() |
Protected Types | |
typedef Gyoto::SmartPointer < Gyoto::SmartPointee > | Subcontractor_t (Gyoto::FactoryMessenger *) |
A subcontractor builds an object upon order from the Factory. |
Protected Member Functions | |
void | incRefCount () |
Increment the reference counter. Warning: Don't mess with the counter. | |
int | decRefCount () |
Decrement the reference counter and return current value. Warning: Don't mess with the counter. | |
int | getRefCount () |
Get the current number of references. |
Protected Attributes | |
double | T_ |
Temperature (K) | |
double | cst_ |
Scaling constant. | |
double | Tm1_ |
1./T_; | |
std::string | kind_ |
e.g. constants, blackbody... |
Friends | |
class | Gyoto::SmartPointer< Gyoto::Spectrum::BlackBody > |
Black Body.
Light emitted by e.g. a Star
|
inherited |
A subcontractor builds an object upon order from the Factory.
Various classes need to provide a subcontractor to be able to instanciate themselves upon order from the Factory. A subcontractor is a function (often a static member function) which accepts a pointer to a FactoryMessenger as unique parameter, communicates with the Factory using this messenger to read an XML description of the object to build, and returns this objet. SmartPointee::Subcontractor_t* is just generic enough a typedef to cast to and from other subcontractor types: Astrobj::Subcontractor_t, Metric::Subcontractor_t, Spectrum::Subcontractor_t. A subcontractor needs to be registered using the relevant Register() function: Astrobj::Register(), Metric::Register(), Spectrum::Register().
|
virtual |
called from Factory
Spectrum implementations should impement fillElement to save their parameters to XML and call the generic implementation to save generic parts.
Reimplemented from Gyoto::Spectrum::Generic.
|
virtualinherited |
I_nu in optically thin regime.
Generic implementation assumes emissivity = opacity.
nu | frequency in Hz |
opacity,such | that opacity*ds=optical thickness. |
ds,in | geometrical units |