32#ifndef __GyotoThickDisk_H_
33#define __GyotoThickDisk_H_
40 namespace Astrobj {
class ThickDisk; }
65 SmartPointer<Spectrum::ThermalSynchrotron> spectrumThermalSynch_;
94 void thickDiskInnerRadius(double hh);
95 double thickDiskInnerRadius() const;
96 void thickDiskZGaussianSigma(double sig);
97 double thickDiskZGaussianSigma() const;
98 void useSelfAbsorption(bool abs) ;
99 bool useSelfAbsorption() const;
100 void veloParam(std::vector<double> const &v);
101 std::vector<double> veloParam() const;
102 double numberDensityAtInnerRadius() const;
103 double numberDensityAtInnerRadius(std::string const &unit) const;
104 void numberDensityAtInnerRadius(double ne);
105 void numberDensityAtInnerRadius(double dens, std::string const &unit);
106 void temperatureAtInnerRadius(double tt);
107 double temperatureAtInnerRadius()const;
108 void temperatureSlope(double ss);
109 double temperatureSlope()const;
110 void densitySlope(double ss);
111 double densitySlope()const;
112 void magnetizationParameter(double rr);
113 double magnetizationParameter()const;
114 void magneticConfiguration(std::string config);
115 std::string magneticConfiguration() const;
119 virtual void
metric(SmartPointer<Metric::Generic>);
121 virtual double operator()(double const coord[4]) ;
124 double const nu_em[], size_t nbnu,
125 double dsem, state_t const &coord_ph,
126 double const coord_obj[8]=NULL) const ;
129 virtual void
radiativeQ(double *Inu, double *Qnu, double *Unu,
131 Eigen::Matrix4d *Onu,
132 double const *nuem , size_t nbnu,
135 double const *co) const;
Powerlaw synchrotron spectrum.
#define GYOTO_OBJECT_THREAD_SAFETY
Declare virtual bool isThreadSafe() const.
Definition GyotoObject.h:99
#define GYOTO_OBJECT
Declare class::properties and class::getProperties()
Definition GyotoObject.h:84
Astronomical objects defined bya a potential/distance.
Thermal synchrotron spectrum.
virtual SmartPointer< Metric::Generic > metric() const
Get the Metric gg_.
Astronomical objects defined bya a potential/distance.
Definition GyotoStandardAstrobj.h:87
A thick accretion disk described by its inner radius and the fwhm of the Gaussian factor affecting th...
Definition GyotoThickDisk.h:62
virtual ThickDisk * clone() const
Cloner.
double temperatureAtInnerRadius_
electron temperature at inner radius (K)
Definition GyotoThickDisk.h:72
std::string magneticConfig_
Specify the magnetic field configuration for polarisation.
Definition GyotoThickDisk.h:76
virtual void getVelocity(double const pos[4], double vel[4])
Fluid velocity field.
double temperatureSlope_
electron temperature \propto r^{-temperatureSlope_}
Definition GyotoThickDisk.h:73
virtual SmartPointer< Metric::Generic > metric() const
Get the Metric gg_.
double densitySlope_
electron density \propto r^{-densitySlope_}
Definition GyotoThickDisk.h:74
double numberDensityAtInnerRadius_cgs_
electron nb density at inner radius (cgs)
Definition GyotoThickDisk.h:71
bool use_selfabsorption_
True if selfabs is used in radiative transfer.
Definition GyotoThickDisk.h:68
double beta_veloparam_
beta such that Omega = Omega_circ + (1-beta)*(Omega_rad - Omega_circ)
Definition GyotoThickDisk.h:70
double thickDiskInnerRadius_
Inner disk radius in M units.
Definition GyotoThickDisk.h:66
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
double magnetizationParameter_
Pmagn/(ne mp c2)
Definition GyotoThickDisk.h:75
double alpha_veloparam_
alpha such that u^r = u^r_circ + (1-alpha)*(u^r_rad - u^r_circ)
Definition GyotoThickDisk.h:69
double thickDiskZGaussianSigma_
Stdev of the Gaussian modulating the density along z in units of cylindrical radius.
Definition GyotoThickDisk.h:67
I might listen to a Teller.
Definition GyotoHooks.h:64
Pointers performing reference counting.
Definition GyotoSmartPointer.h:135
Namespace for the Gyoto library.
Definition GyotoAstrobj.h:44