25 lines
1.0 KiB
C
25 lines
1.0 KiB
C
#ifndef OBSERVER_H
|
|
#define OBSERVER_H
|
|
|
|
typedef struct {
|
|
double coordinate_time;
|
|
double coordinate_position[3];
|
|
/* e_(0), then spatial (forward, up, right), in coordinate components. */
|
|
double tetrad[4][4];
|
|
} ObserverState;
|
|
|
|
ObserverState observer_fixed_at_origin(void);
|
|
/* Point the fixed inertial observer at an ICRS-style RA/Dec direction.
|
|
* The local spatial axes remain (forward, celestial north, increasing RA). */
|
|
ObserverState observer_fixed_at_origin_look_at(double ra_deg, double dec_deg);
|
|
/* Static camera at (radius, 0, 0) in Cartesian Kerr--Schild coordinates,
|
|
* directed toward the Schwarzschild black hole at the origin. */
|
|
int observer_static_schwarzschild_ks(double mass, double radius,
|
|
ObserverState *out);
|
|
/* Camera at (radius, 0, 0), moving inward at local speed inward_speed with
|
|
* respect to the static Schwarzschild observer. */
|
|
int observer_inward_schwarzschild_ks(double mass, double radius,
|
|
double inward_speed, ObserverState *out);
|
|
|
|
#endif
|