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