Object
-
template<typename Type>
class Object Subclassed by SBody::Disk< Type >, SBody::Particle< Type >
Public Functions
-
inline Object(std::shared_ptr<Metric<Type>> metric)
Construct a new Object object.
- Parameters:
metric –
-
virtual int Hit(const boost::numeric::ublas::bounded_vector<Type, 8> ¤t, const boost::numeric::ublas::bounded_vector<Type, 8> &last) = 0
- Parameters:
current –
last –
- Returns:
int
-
virtual Type Redshift(const boost::numeric::ublas::bounded_vector<Type, 8> &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
photon_time –
- Returns:
Type
-
inline Object(std::shared_ptr<Metric<Type>> metric)
Star
-
template<typename Type>
class Star : public SBody::Particle<Type>