27 #ifndef __GyotoSpectrum_H_
28 #define __GyotoSpectrum_H_
33 class FactoryMessenger;
37 #if defined GYOTO_USE_XERCES
63 sp -> setParameters(fmp);
129 Generic(const std::string kind);
135 const std::string
getKind() const;
137 virtual double operator()(double nu) const =0;
146 virtual double operator()(double nu, double opacity, double ds) const;
157 virtual double
integrate(double nu1, double nu2) ;
170 virtual double
integrate(double nu1, double nu2,
171 const Spectrum::Generic * opacity, double ds) ;
173 #ifdef GYOTO_USE_XERCES
180 virtual void
fillElement(FactoryMessenger *fmp) const ;
void Register(std::string kind, Gyoto::Spectrum::Subcontractor_t *scp)
Make a Spectrum kind known to the Factory.
Reference-counting pointers.
Factory / SmartPointee::Subcontractor_t interface.
Definition: GyotoFactoryMessenger.h:91
const std::string getKind() const
Get spectrum kind.
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:50
virtual void setParameter(std::string name, std::string content, std::string unit)
To be called by fillElement()
virtual void fillElement(FactoryMessenger *fmp) const
called from Factory
Pointers performing reference counting.
Definition: GyotoSmartPointer.h:51
Can be pointed to by a SmartPointer.
Definition: GyotoSmartPointer.h:79
std::string kind_
e.g. constants, blackbody...
Definition: GyotoSpectrum.h:126
Register::Entry * Register_
The Spectrum register.
Spectrum emitted by an Astrobj.
Definition: GyotoSpectrum.h:123
void initRegister()
Empty the Spectrum register.
virtual Generic * clone() const
Cloner.
SmartPointer< Spectrum::Generic > Subcontractor(FactoryMessenger *fmp)
Subcontractor template.
Definition: GyotoSpectrum.h:61
virtual void setParameters(FactoryMessenger *fmp)
Main loop in Subcontractor_t function.
virtual double integrate(double nu1, double nu2)
Integrate optically thick I_nu.
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:95