28#ifndef __GyotoThinDiskProfile_H_
29#define __GyotoThinDiskProfile_H_
36 namespace Astrobj {
class ThinDiskProfile; }
71 bool circularMotion() const;
72 void circularMotion(bool circ);
74 void model_param(std::vector<double> const &v);
75 std::vector<double> model_param() const;
78 virtual double
emission(double nu_em, double dsem,
79 state_t const &c_ph,double const c_obj[8]=NULL) const;
84 state_t const &coord_ph_hit,
85 double const *coord_obj_hit,
87 Properties* data) const;
#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.
Geometrically thin disks and rings.
Definition GyotoThinDisk.h:71
A subclass of ThinDisk emitting according to some specified profile that should be hardcoded in emiss...
Definition GyotoThinDiskProfile.h:48
bool circular_motion_
True if motion is circular, else radial fall.
Definition GyotoThinDiskProfile.h:52
virtual void processHitQuantities(Photon *ph, state_t const &coord_ph_hit, double const *coord_obj_hit, double dt, Properties *data) const
Fills Astrobj::Properties.
virtual ThinDiskProfile * clone() const
Cloner.
double * model_param_
A vector containing an arbitrary number of parameters necessary to compute the disk image.
Definition GyotoThinDiskProfile.h:51
virtual void getVelocity(double const pos[4], double vel[4])
Get fluid 4-velocity at point.
virtual double emission(double nu_em, double dsem, state_t const &c_ph, double const c_obj[8]=NULL) const
Specific intensity Iν
Pointers performing reference counting.
Definition GyotoSmartPointer.h:135
Namespace for the Gyoto library.
Definition GyotoAstrobj.h:44