Gyoto
|
Namespace for the Gyoto library. More...
Namespaces | |
Astrobj | |
Access to astronomical objects. | |
Functor | |
Classes with an operator() method. | |
Hook | |
Listeners attach to Tellers. | |
Metric | |
Access to metrics. | |
Python | |
Helpers for the classes deriving from Gyoto::Python::Base. | |
Register | |
Gyoto registers. | |
Spectrometer | |
Access to spectrometers. | |
Spectrum | |
Spectrum of a simple object (e.g. a Gyoto::Astrobj::Star) | |
Units | |
Units-related classes and functions. | |
Classes | |
class | Error |
Class for thowing exceptions. More... | |
class | Factory |
XML input/output. More... | |
class | FactoryMessenger |
Factory / SmartPointee::Subcontractor_t interface. More... | |
class | FitsRW |
class | GridData2D |
Class for reading data stored in a 2D grid. 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... | |
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... | |
Typedefs | |
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: if (quant & GYOTOQUANTITY_EMISSION) ... 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 | |
GYOTO_COORDKIND_CARTESIAN or GYOTO_COORDKIND_SPHERICAL 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. | |
Functions | |
void | throwError (std::string) |
Throw a Gyoto::Error. More... | |
void * | loadPlugin (char const *const plugname, int nofail=0) |
Load a plugin by name. More... | |
bool | havePlugin (std::string plugname) |
Check whether a given plug-in has already been loaded. More... | |
void | requirePlugin (std::string plugname, int nofail=0) |
Load a plugin by name, only if not loaded yet. More... | |
void | debug (int mode) |
Set debug mode. More... | |
int | debug () |
Get debug mode. More... | |
void | verbose (int mode) |
Set verbosity level. More... | |
int | verbose () |
Get verbosity level. More... | |
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) More... | |
double | atof (const char *str) |
Interpret C string as double. More... | |
void | help (std::string class_name) |
Print help on class. More... | |
std::vector< std::string > | split (std::string const &src, std::string const &delim) |
Split string. | |
double | bessi0 (double xx) |
Bessel function computation. More... | |
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. | |
void | cartesianToSpherical (double const cpos[3], double spos[3]) |
Tranform from Cartesian 3-position to spherical 3-position. | |
void | sphericalToCartesian (double const spos[3], double cpos[3]) |
Tranform from spherical 3-position to Cartesian 3-position. | |
void | matrix4Invert (double ARGOUT_ARRAY2[4][4], double const IN_ARRAY2[4][4]) |
Invert 4x4 matrix. More... | |
void | matrix4CircularInvert (double ARGOUT_ARRAY2[4][4], double const IN_ARRAY2[4][4]) |
Invert 4x4 circular spacetime metric. More... | |
Namespace for the Gyoto library.
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 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)
[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". |
void Gyoto::debug | ( | int | mode | ) |
Set debug mode.
mode | 1 to turn on debug mode, 0 to turn it off. |
int Gyoto::debug | ( | ) |
Get debug mode.
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 Gyoto::matrix4CircularInvert | ( | double | ARGOUT_ARRAY2[4][4], |
double const | IN_ARRAY2[4][4] | ||
) |
Invert 4x4 circular spacetime metric.
A circular spacetime metric (in the right coordinate system)
[in] | IN_ARRAY2 | the 4×4 matrix to invert |
[out] | ARGOUT_ARRAY2 | the invert matrix of IN_ARRAY2 |
void Gyoto::matrix4Invert | ( | double | ARGOUT_ARRAY2[4][4], |
double const | IN_ARRAY2[4][4] | ||
) |
Invert 4x4 matrix.
[in] | IN_ARRAY2 | the 4×4 matrix to invert |
[out] | ARGOUT_ARRAY2 | the invert matrix of IN_ARRAY2 |
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
void Gyoto::verbose | ( | int | mode | ) |
Set verbosity level.
See standard verbosity levels defined in GyotoDefs.h:
int Gyoto::verbose | ( | ) |
Get verbosity level.
See verbose(int mode).