Gyoto Namespace Reference

Namespace for the Gyoto library. More...


namespace  Astrobj

Access to astronomical objects.

namespace  Functor

Classes with an operator() method.

namespace  Hook

Listeners attach to Tellers.

namespace  Metric

Access to metrics.

namespace  Python

Helpers for the classes deriving from Gyoto::Python::Base.

namespace  Register

Gyoto registers.

namespace  Spectrometer

Access to spectrometers.

namespace  Spectrum

Spectrum of a simple object (e.g. a Gyoto::Astrobj::Star).

namespace  Units

Units-related classes and functions.


class  Error
 Class for thowing exceptions. More...
class  Factory
 XML input/output. More...
class  FactoryMessenger
 Factory / SmartPointee::Subcontractor_t interface. More...
class  GridData2D
 Class for reading data stored in a 2D grid. More...
class  Object
 Object with properties. More...
class  Photon
 A null geodesic transporting light. More...
class  Property
 Property that can be set and got using standard methods. More...
class  Scenery
 Ray-tracing scene. More...
class  Screen
 The camera with which the Astrobj is observed. More...
class  SmartPointee
 Can be pointed to by a SmartPointer. More...
class  SmartPointer
 Pointers performing reference counting. More...
class  Value
 Container for the value of a Property. More...
class  WIP
 Base class for work in progress. More...
class  Worldline
 Timelike or null geodesics. More...
class  NumericalMetricLorene
 Class for 3+1 numerical metrics computed by LORENE. This class can handle (so far) any kind of LORENE metric, stars, collapsing stars, Kerr, boson star e.g. More...


typedef std::vector< double > state_t
Observable quantities

Individual quantities are represented as a variable of this type. A combination of quantities is an ored list of Quantity_t, e.g.

To check wheter a given quantity is listed in a Quantity_t variable quant:


List of all possible Quantity_t individual values and the corresponding string (see Gyoto::Scenery) with corresponding XML name:

typedef unsigned int Quantity_t
 Type for observabke quantities.
Gyoto messages

Controling which messages are shown to the user

The user should be able to choose which messages are shown to her. In Gyoto, this is determined by a user-settable verbosity level (see Gyoto::verbose()) and a user-settable debug mode (see Goyto::debug()).

The following macros define various debug and verbosity level and provide short-cuts to display formatted messages only at a given verbosity level or in debug mode.

typedef unsigned int Verbosity_t
 Type for verbosity levels.
Coordinate system kind


Every Gyoto::Metric has a coordinate system kind. It can be used by functions which need to express coordinates always in spherical or always in Cartesian form, with trivial conversion between the two.

typedef unsigned int CoordKind_t
 Type for coordinate system kinds.


void throwError (std::string)
 Throw a Gyoto::Error.
void * loadPlugin (char const *const plugname, int nofail=0)
 Load a plugin by name.
bool havePlugin (std::string plugname)
 Check whether a given plug-in has already been loaded.
void requirePlugin (std::string plugname, int nofail=0)
 Load a plugin by name, only if not loaded yet.
void debug (int mode)
 Set debug mode.
int debug ()
 Get debug mode.
void verbose (int mode)
 Set verbosity level.
int verbose ()
 Get verbosity level.
void convert (double *const x, const std::size_t nelem, const double mass_sun, const double distance_kpc, const std::string unit)
 Convert lengths (deprecated).
double atof (const char *str)
 Interpret C string as double.
void help (std::string class_name)
 Print help on class.
std::vector< std::string > split (std::string const &src, std::string const &delim)
 Split string.
double bessi0 (double xx)
 Bessel function computation.
double bessi1 (double xx)
 Modified Bessel function I1.
double bessk0 (double xx)
 Modified Bessel function K0.
double bessk1 (double xx)
 Modified Bessel function K1.
double bessk (int nn, double xx)
 Modified Bessel function.
double hypergeom (double kappaIndex, double thetae)
 Gauss hypergeometric 2F1 term for kappa-distribution synchrotron.

Detailed Description

Namespace for the Gyoto library.

Internal to Xerces.

For obscure reasons, this needs to be set to 0 instead of just undefined.

Function Documentation

double Gyoto::atof ( const char *  str  ) 

Interpret C string as double.

Wrapper around std::atof() that also interprets DBL_MIN, DBL_MAX, -DBL_MIN and -DBL_MAX.

If str starts with "(-)DBL_M" and is not one of the four special values, then an error is thrown.

[in] str C string to interpret
double valu represented by str.
double Gyoto::bessi0 ( double  xx  ) 

Bessel function computation.

Modified Bessel function I0

void Gyoto::convert ( double *const   x,
const std::size_t  nelem,
const double  mass_sun,
const double  distance_kpc,
const std::string  unit 

Convert lengths (deprecated).

Will be removed once it is not used anymore in Gyoto per se. Prefer Gyoto::Units framework.
[in,out] x Lengths to convert, in geometrical units on input, in specified unit on output.
[in] nelem Size of x array.
[in] mass_sun Black-hole mass in Solar masses.
[in] distance_kpc Distance from observer in kiloparsecs.
[in] unit One of "geometrical", "m", "km", "sun radius", "rad", "degree", "arcmin", "arcsec", "mas", "uas".
int Gyoto::debug (  ) 

Get debug mode.

>=1 if debug mode is on, else 0.
void Gyoto::debug ( int  mode  ) 

Set debug mode.

mode 1 to turn on debug mode, 0 to turn it off.
bool Gyoto::havePlugin ( std::string  plugname  ) 

Check whether a given plug-in has already been loaded.

[in] plugname std::string Plug-in name.
void Gyoto::help ( std::string  class_name  ) 

Print help on class.

[in] class_name e.g. "Gyoto::Screen", "Gyoto::Astrobj::Torus".
void* Gyoto::loadPlugin ( char const *const   plugname,
int  nofail = 0 

Load a plugin by name.

Uses dlopen to load the file libgyoto-<plugname>.so, looks for the function __Gyoto<plugname>Init inside it and run it. Plug-ins must be located in the runtime link search path, or in GYOTO_PKGLIBDIR, or in GYOTO_PKGLIBDIR/GYOTO_SOVERS/.

[in] plugname C string Plug-in name.
[in] nofail int Unless nofail evals to true, the inability to find a plug-in or to run the initialization function inside it throws an Gyoto::Error. If nofail is 2 or more, such conditions are silently ignored. If nofail is one, those conditions trigger a warning.
void* handle to the dlopen'ed plug-in.
void Gyoto::requirePlugin ( std::string  plugname,
int  nofail = 0 

Load a plugin by name, only if not loaded yet.

[in] plugname std::string Plug-in name.
[in] nofail int Unless nofail evals to true, the inability to find a plug-in or to run the initialization function inside it throws an Gyoto::Error. If nofail is 2 or more, such conditions are silently ignored. If nofail is one, those conditions trigger a warning.
void Gyoto::throwError ( std::string   ) 

Throw a Gyoto::Error.

Most code should use the GYOTO_ERROR macro instead

int Gyoto::verbose (  ) 

Get verbosity level.

See verbose(int mode).

void Gyoto::verbose ( int  mode  ) 

Set verbosity level.

See standard verbosity levels defined in GyotoDefs.h:


Generated on 23 Oct 2019 for Gyoto by  doxygen 1.6.1