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
-
Object(std::shared_ptr<Metric> metric)
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
-
virtual int Hit(const double current[], const double last[])
Disk
-
class Disk : public SBody::Object