27#ifndef __GyotoSpectrum_H_
28#define __GyotoSpectrum_H_
51 typedef Gyoto::SmartPointer<Gyoto::Spectrum::Generic>
65 sp -> plugins(plugins) ;
66#ifdef GYOTO_USE_XERCES
67 if (fmp) sp -> setParameters(fmp);
105 std::vector<std::string> &plugins,
145 Generic(const std::string kind);
146 Generic(const Spectrum::Generic &);
151 virtual double operator()(double nu) const =0;
160 virtual double operator()(double nu, double opacity, double ds) const;
185 const Spectrum::Generic * opacity, double ds) ;
#define GYOTO_OBJECT
Declare class::properties and class::getProperties().
Definition GyotoObject.h:84
Reference-counting pointers.
Factory / SmartPointee::Subcontractor_t interface.
Definition GyotoFactoryMessenger.h:92
Object with properties.
Definition GyotoObject.h:152
Entry in a register (or a full register).
Definition GyotoRegister.h:117
Can be pointed to by a SmartPointer.
Definition GyotoSmartPointer.h:81
Pointers performing reference counting.
Definition GyotoSmartPointer.h:135
Spectrum emitted by an Astrobj.
Definition GyotoSpectrum.h:137
virtual Generic * clone() const
Cloner.
virtual double integrate(double nu1, double nu2)
Integrate optically thick I_nu.
Gyoto registers.
Definition GyotoAstrobj.h:46
Spectrum of a simple object (e.g. a Gyoto::Astrobj::Star).
Definition GyotoBlackBodySpectrum.h:35
void Register(std::string kind, Gyoto::Spectrum::Subcontractor_t *scp)
Make a Spectrum kind known to the Factory.
SmartPointer< Spectrum::Generic > Subcontractor(FactoryMessenger *fmp, std::vector< std::string > const &plugins)
Subcontractor template.
Definition GyotoSpectrum.h:63
Gyoto::SmartPointer< Gyoto::Spectrum::Generic > Subcontractor_t(Gyoto::FactoryMessenger *fmp, std::vector< std::string > const &)
A function to build instances of a specific Spectrum::Generic sub-class.
Definition GyotoSpectrum.h:52
Register::Entry * Register_
The Spectrum register.
Gyoto::Spectrum::Subcontractor_t * getSubcontractor(std::string name, std::vector< std::string > &plugins, int errmode=0)
Query the Spectrum register.
void initRegister()
Empty the Spectrum register.
Namespace for the Gyoto library.
Definition GyotoAstrobj.h:44