26 #ifndef __GyotoTorus_H_ 27 #define __GyotoTorus_H_ 35 namespace Astrobj {
class Torus; }
66 SmartPointer<Spectrum::ThermalSynchrotron> spectrumThermalSynch_;
77 Torus(const Torus& ) ;
128 virtual void
spectrum(SmartPointer<Spectrum::Generic>);
138 virtual void
opacity(SmartPointer<Spectrum::Generic>);
146 virtual double
rMax();
151 virtual double operator()(double const coord[4]) ;
152 virtual double deltaMax(double*);
155 virtual void
getVelocity(double const pos[4], double vel[4]) ;
158 virtual double
emission(double nu_em, double dsem, state_t const &coord_ph,
159 double const coord_obj[8]=NULL) const ;
162 state_t const &c_ph, double const c_obj[8]=NULL) const;
164 virtual double transmission(double nuem, double dsem, state_t const &, double const *) const ;
166 virtual void
radiativeQ(double Inu[], double Taunu[],
167 double const nu_em[], size_t nbnu,
168 double dsem, state_t const &coord_ph,
169 double const coord_obj[8]=NULL) const ;
virtual SmartPointer< Spectrum::Generic > opacity() const
Get Torus::opacity_.
#define GYOTO_OBJECT
Declare class::properties and class::getProperties()
Definition: GyotoObject.h:84
virtual SmartPointer< Spectrum::Generic > spectrum() const
Get Torus::spectrum_.
virtual double emission(double nu_em, double dsem, state_t const &coord_ph, double const coord_obj[8]=NULL) const
Specific intensity Iν
Thermal synchrotron spectrum.
double c_
Large Radius.
Definition: GyotoTorus.h:62
virtual double integrateEmission(double nu1, double nu2, double dsem, state_t const &c_ph, double const c_obj[8]=NULL) const
∫ν1ν2 Iν dν (or jν)
SmartPointer< Spectrum::Generic > opacity_
Absorption law.
Definition: GyotoTorus.h:65
virtual void radiativeQ(double Inu[], double Taunu[], double const nu_em[], size_t nbnu, double dsem, state_t const &coord_ph, double const coord_obj[8]=NULL) const
emission and transmission together
virtual double integrateEmission(double nu1, double nu2, double dsem, state_t const &c_ph, double const c_obj[8]=NULL) const
∫ν1ν2 Iν dν (or jν)
Optically thin or thick torus in circular rotation.
Definition: GyotoTorus.h:50
virtual double rMax()
Get maximal distance from center of coordinate system.
Astronomical objects defined bya a potential/distance.
double largeRadius() const
virtual void getVelocity(double const pos[4], double vel[4])
Fluid velocity field.
virtual double rMax()
Get maximal distance from center of coordinate system.
Spectrum of a simple object (e.g. Star)
Namespace for the Gyoto library.
Definition: GyotoAstrobj.h:43
Pointers performing reference counting.
Definition: GyotoProperty.h:45
SmartPointer< Spectrum::Generic > spectrum_
Emission law.
Definition: GyotoTorus.h:64
Astronomical objects defined bya a potential/distance.
Definition: GyotoStandardAstrobj.h:84
virtual double emission(double nu_em, double dsem, state_t const &coord_ph, double const coord_obj[8]=NULL) const
Specific intensity Iν
double smallRadius() const
virtual Torus * clone() const
"Virtual" copy constructor