33#ifndef __GyotoPageThorneDisk_H_
34#define __GyotoPageThorneDisk_H_
41 namespace Astrobj {
class PageThorneDisk; }
98 virtual void
metric(SmartPointer<Metric::Generic>);
104 void uniFlux(bool t) ;
105 bool uniFlux() const ;
118 state_t const &c_ph, double const c_obj[8]=NULL) const;
126 double const c_obj[8]) const;
135 double const *coord_obj_hit, double dt,
136 Astrobj::Properties* data) const;
149 virtual void
tell(Gyoto::Hook::Teller *msg);
151 virtual void
radiativeQ(double *Inu, double *Qnu, double *Unu, double *Vnu,
152 Eigen::Matrix4d *Onu,
153 double const *nuem , size_t nbnu, double dsem,
154 state_t const &cph, double const *co) const;
I_nu(nu, T) = cst_*2*h*nu^3/c^2/(exp(h*nu/k*T)-1.);.
#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
Geometrically thin disks and rings.
virtual SmartPointer< Metric::Generic > metric() const
Get the Metric gg_.
virtual double emission(double nu_em, double dsem, state_t const &coord_ph, double const coord_obj[8]=NULL) const
Specific intensity Iν
Geometrically thin disk in Kerr metric.
Definition GyotoPageThorneDisk.h:67
void mdot(double v)
Set mdot_ to v.
virtual void radiativeQ(double *Inu, double *Qnu, double *Unu, double *Vnu, Eigen::Matrix4d *Onu, double const *nuem, size_t nbnu, double dsem, state_t const &cph, double const *co) const
Compute the increment of Stokes parameters and transmission matrix. Polarised version of RadiaveQ.
virtual double emission(double nu_em, double dsem, state_t const &c_ph, double const c_obj[8]=NULL) const
Not implemented Throws a Gyoto::Error.
Gyoto::Quantity_t getDefaultQuantities()
Which quantities to compute if know was requested.
double aa2_
aa_2
Definition GyotoPageThorneDisk.h:71
double x1_
Value cached for bolometricEmission()
Definition GyotoPageThorneDisk.h:73
virtual void processHitQuantities(Photon *ph, state_t const &coord_ph_hit, double const *coord_obj_hit, double dt, Astrobj::Properties *data) const
processHitQuantities fills the requested data in Impact. For PageThorneDisk, only fill User4,...
virtual PageThorneDisk * clone() const
Cloner.
SmartPointer< Spectrum::BlackBody > spectrumBB_
emission law
Definition GyotoPageThorneDisk.h:78
bool uniflux_
Flag for uniform flux = 1.
Definition GyotoPageThorneDisk.h:77
virtual double bolometricEmission(double nuem, double dsem, double const c_obj[8]) const
Bolometric emission.
double x0_
Value cached for bolometricEmission()
Definition GyotoPageThorneDisk.h:72
virtual void tell(Gyoto::Hook::Teller *msg)
Update PageThorneDisk::aa_.
double x2_
Value cached for bolometricEmission()
Definition GyotoPageThorneDisk.h:74
virtual void updateSpin()
Get spin from metric, which must be KerrBL or KerrKS.
double aa_
Generic::gg_ spin parameter, monitored by tell()
Definition GyotoPageThorneDisk.h:70
double x3_
Value cached for bolometricEmission()
Definition GyotoPageThorneDisk.h:75
double mdot_
accretion rate (for BB spectrum computation)
Definition GyotoPageThorneDisk.h:76
Geometrically thin disks and rings.
Definition GyotoThinDisk.h:71
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
unsigned int Quantity_t
Type for observabke quantities.
Definition GyotoDefs.h:76