39#ifndef __GyotoThinDisk_H_
40#define __GyotoThinDisk_H_
43 namespace Astrobj {
class ThinDisk; }
51#ifdef GYOTO_USE_XERCES
122 virtual bool corotating() const;
123 virtual void corotating(bool t);
130 virtual double operator()(double const coord[]) ;
151 virtual int
Impact(Gyoto::Photon* ph, size_t index,
152 Astrobj::Properties *data=NULL) ;
Astronomical objects (light emitters)
Classes with an operator() method.
Base class for metric description.
#define GYOTO_OBJECT
Declare class::properties and class::getProperties()
Definition: GyotoObject.h:84
Spectrum of a simple object (e.g. Star)
Base class for astronomical object.
Definition: GyotoAstrobj.h:199
Geometrically thin disks and rings.
Definition: GyotoThinDisk.h:71
unsigned int velocitykind_
tag for VelocityKind
Definition: GyotoThinDisk.h:87
virtual int dir() const
Get dir_.
virtual std::string velocityKind() const
Set dir_=t?1:-1.
virtual double innerRadius() const
Get rin_.
double thickness_
disk thickness
Definition: GyotoThinDisk.h:85
virtual ThinDisk * clone() const
Cloner.
virtual double outerRadius() const
Get rout_.
virtual double projectedRadius(double const coord[]) const
Projected radius of position coord on the equatorial plane.
double rout_
disk outer radius in geometrical units
Definition: GyotoThinDisk.h:78
virtual double thickness() const
Get thickness_.
virtual double sphericalPhi(double const coord[]) const
Longitude.
double rin_
disk inner radius in geometrical units
Definition: GyotoThinDisk.h:77
virtual int Impact(Gyoto::Photon *ph, size_t index, Astrobj::Properties *data=NULL)
Does a photon at these coordinates impact the object?
int dir_
1 for corotating (default), -1 for counterrotating.
Definition: GyotoThinDisk.h:86
virtual void getVelocity(double const pos[4], double vel[4])
Get fluid 4-velocity at point.
A functor like double (func) (double const data[])
Definition: GyotoFunctors.h:44
Pointers performing reference counting.
Definition: GyotoSmartPointer.h:135
Namespace for the Gyoto library.
Definition: GyotoAstrobj.h:43