Object

class Object

Subclassed by SBody::Disk, SBody::Particle

Public Functions

Object(std::shared_ptr<Metric> metric)

Construct a new Object object.

Parameters:

metric

virtual int Hit(const double current[], const double last[]) = 0
Parameters:
  • current

  • last

Returns:

int

virtual double Redshift(const double photon[], TimeSystem photon_time) = 0

\[z=\frac{E_\mathrm{obj}}{E_\mathrm{obs}}-1\]
where
\[E_\mathrm{obj}=-g_{\mu\nu}u_\mathrm{ph}^\mu u_\mathrm{obj}^\nu\]
For the distant observer, the equation is the same. With the tetrad velocity \(u_\mathrm{obs}=(1,0,0,0)\) and metric
\[\begin{split} g_\mathrm{obs}= \begin{pmatrix} -1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix}, \end{split}\]
the energy of the photon can be simplified to
\[ E_\mathrm{obs}=u_\mathrm{ph}^0. \]

Parameters:

photon – 8 dimensional information of photon

Returns:

double

Star

class Star : public SBody::Particle

Public Functions

virtual int Hit(const double current[], const double last[])

Check if the star hit by the photon.

Parameters:
  • current

  • last

Returns:

int

Disk

class Disk : public SBody::Object