27 #ifndef __GyotoSpectrum_H_ 28 #define __GyotoSpectrum_H_ 35 class FactoryMessenger;
63 (FactoryMessenger* fmp) {
65 #ifdef GYOTO_USE_XERCES 66 if (fmp) sp -> setParameters(fmp);
136 Generic(const std::string kind);
137 Generic(const Spectrum::Generic &);
138 virtual Generic * clone() const;
142 const std::string kind() const;
144 virtual double operator()(double nu) const =0;
153 virtual double operator()(double nu, double opacity, double ds) const;
164 virtual double integrate(double nu1, double nu2) ;
177 virtual double integrate(double nu1, double nu2,
178 const Spectrum::Generic * opacity, double ds) ;
#define GYOTO_OBJECT
Declare class::properties and class::getProperties()
Definition: GyotoObject.h:83
void Register(std::string kind, Gyoto::Spectrum::Subcontractor_t *scp)
Make a Spectrum kind known to the Factory.
Reference-counting pointers.
Gyoto::SmartPointer< Gyoto::Spectrum::Generic > Subcontractor_t(Gyoto::FactoryMessenger *fmp)
A function to build instances of a specific Spectrum::Generic sub-class.
Definition: GyotoSpectrum.h:52
Namespace for the Gyoto library.
Definition: GyotoAstrobj.h:43
Can be pointed to by a SmartPointer.
Definition: GyotoSmartPointer.h:78
Register::Entry * Register_
The Spectrum register.
Spectrum emitted by an Astrobj.
Definition: GyotoSpectrum.h:126
void initRegister()
Empty the Spectrum register.
SmartPointer< Spectrum::Generic > Subcontractor(FactoryMessenger *fmp)
Subcontractor template.
Definition: GyotoSpectrum.h:63
Object with properties.
Definition: GyotoObject.h:136
Gyoto::Spectrum::Subcontractor_t * getSubcontractor(std::string name, int errmode=0)
Query the Spectrum register.
Entry in a register (or a full register)
Definition: GyotoRegister.h:92