26 #ifndef __GyotoTorus_H_
27 #define __GyotoTorus_H_
35 namespace Astrobj {
class Torus; }
74 Torus(const Torus& ) ;
125 virtual void
setSpectrum(SmartPointer<Spectrum::Generic>);
135 virtual void
setOpacity(SmartPointer<Spectrum::Generic>);
151 #ifdef GYOTO_USE_XERCES
152 virtual void
fillElement(FactoryMessenger *fmp) const ;
159 virtual double operator()(double const coord[4]) ;
162 virtual void
getVelocity(double const pos[4], double vel[4]) ;
165 virtual double
emission(double nu_em, double dsem, double coord_ph[8],
166 double coord_obj[8]=NULL) const ;
169 double c_ph[8], double c_obj[8]=NULL) const;
171 virtual double
transmission(double nuem, double dsem, double coord[8]) const ;
virtual void setParameters(FactoryMessenger *fmp)
Main loop in Subcontractor_t function.
virtual double integrateEmission(double nu1, double nu2, double dsem, double c_ph[8], double c_obj[8]=NULL) const
∫ν1ν2 Iν dν (or jν)
double c_
Large Radius.
Definition: GyotoTorus.h:61
virtual Torus * clone() const
"Virtual" copy constructor
virtual double integrateEmission(double nu1, double nu2, double dsem, double c_ph[8], double c_obj[8]=NULL) const
∫ν1ν2 Iν dν (or jν)
SmartPointer< Spectrum::Generic > opacity_
Absorption law.
Definition: GyotoTorus.h:64
virtual double emission(double nu_em, double dsem, double coord_ph[8], double coord_obj[8]=NULL) const
Specific intensity Iν
virtual SmartPointer< Spectrum::Generic > getOpacity() const
Get Torus::opacity_.
Optically thin or thick torus in circular rotation.
Definition: GyotoTorus.h:49
Astronomical objects defined bya a potential/distance.
virtual int setParameter(std::string name, std::string content, std::string unit)
Set parameter by name.
virtual void getVelocity(double const pos[4], double vel[4])
Fluid velocity field.
Spectrum of a simple object (e.g. Star)
double getLargeRadius() const
virtual void setOpacity(SmartPointer< Spectrum::Generic >)
Set Torus::opacity_.
virtual void setSpectrum(SmartPointer< Spectrum::Generic >)
Set Torus::spectrum_.
void setSmallRadius(double a)
Set small radius.
virtual SmartPointer< Spectrum::Generic > getSpectrum() const
Get Torus::spectrum_.
virtual void fillElement(FactoryMessenger *fmp) const
Fill XML section.
Pointers performing reference counting.
Definition: GyotoSmartPointer.h:51
virtual double getRmax()
Get maximal distance from center of coordinate system.
void setLargeRadius(double c)
Set large radius Torus::c_.
virtual double transmission(double nuem, double dsem, double coord[8]) const
Transmission: exp( αν * dsem )
virtual double getRmax()
Get maximal distance from center of coordinate system.
SmartPointer< Spectrum::Generic > spectrum_
Emission law.
Definition: GyotoTorus.h:63
virtual double emission(double nu_em, double dsem, double coord_ph[8], double coord_obj[8]=NULL) const
Specific intensity Iν
double getSmallRadius() const
Astronomical objects defined bya a potential/distance.
Definition: GyotoStandardAstrobj.h:84