33#ifndef __GyotoPageThorneDisk_H_
34#define __GyotoPageThorneDisk_H_
41 namespace Astrobj {
class PageThorneDisk; }
99 virtual void
metric(SmartPointer<Metric::Generic>);
105 void blackBody(bool t) ;
106 bool blackBody() const ;
107 void uniFlux(bool t) ;
108 bool uniFlux() const ;
121 state_t const &c_ph, double const c_obj[8]=NULL) const;
129 double const c_obj[8]) const;
138 double const *coord_obj_hit, double dt,
139 Astrobj::Properties* data) const;
152 virtual void
tell(Gyoto::Hook::Teller *msg);
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
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.
void BlackbodyMdot(double v)
Set mdot_ to v, and blackbody_ to true.
Gyoto::Quantity_t getDefaultQuantities()
Which quantities to compute if know was requested.
double aa2_
aa_2
Definition: GyotoPageThorneDisk.h:71
int blackbody_
Flag for computing BB flux (for spectra)
Definition: GyotoPageThorneDisk.h:76
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:79
bool uniflux_
Flag for uniform flux = 1.
Definition: GyotoPageThorneDisk.h:78
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:77
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:43
unsigned int Quantity_t
Type for observabke quantities.
Definition: GyotoDefs.h:76