View
View Base Class
-
template<typename T>
class View Subclassed by sbody::Camera< T >
Public Functions
-
inline View(const Metric<T> &metric, T r, T theta, T iota, T v_alpha = 0.0, T v_beta = 0.0)
Constructor.
- Parameters:
r – Distance to the black hole
theta – Angle between the observer and the \(z\) axis, \(\theta\).
iota – Rotational angle of the coordiante of the view, \(\iota\).
-
inline int InitializePhoton(boost::numeric::ublas::bounded_vector<T, 8> &photon, T &photon_time, T alpha, T beta) const
Initialize the position and velocity of a trace back photon.
- Parameters:
photon – 9 dimensional vector, photon[8] is used to store the look back time.
alpha – x position of the target in the observer’s view.
beta – y position of the target in the observer’s view.
- Returns:
status
-
inline int Trace(const boost::numeric::ublas::bounded_vector<T, 8> &position, TimeSystem object_time, boost::numeric::ublas::bounded_vector<T, 5> &record, T absolute_accuracy, T relative_accuracy, bool calculate_magnification, bool fast_trace_only, const InfraContext &infra_context) const
- Parameters:
position – 8 dimensional vector
object_time – time system of the object
record – position to save the observational values
calculate_magnification – switch of the magnification calculation
fast_trace – switch of the fast trace
- Returns:
status
-
inline int Magnification(const boost::numeric::ublas::bounded_vector<T, 8> &position, TimeSystem object_time, T &magnification, const boost::numeric::ublas::bounded_vector<T, 8> &photon, T doppler_factor) const
Calculate the magnification of the object.
- Parameters:
position – 8 dimensional vector
object_time – time system of the object
magnification – position to save the magnification
photon – 8 dimensional vector of the photon traced to the object
doppler_factor – Doppler factor \(g=1/(1+z)\) of the photon
- Returns:
int
-
inline int Shadow(std::string file_name, const InfraContext &infra_context) const
Calculate the radius of the black hole shadow at different direction, saved in the file.
- Parameters:
file_name – file name.
- Returns:
status
-
inline View(const Metric<T> &metric, T r, T theta, T iota, T v_alpha = 0.0, T v_beta = 0.0)
Camera
-
template<typename T>
class Camera : public sbody::View<T> Public Functions
-
inline Camera(const Metric<T> &metric, std::size_t pixel, T half_angle, T r, T theta, T iota)
Construct a new camera object.
- Parameters:
pixel –
half_angle –
r –
theta –
file_name –
-
inline int Trace(std::vector<Object<T>*> &object_list, const InfraContext &infra_context)
- Returns:
int
-
inline int Lens(InfraContext &infra_context)
- Returns:
int
-
inline int Save(std::string file_name)
- Returns:
int
-
inline Camera(const Metric<T> &metric, std::size_t pixel, T half_angle, T r, T theta, T iota)
Flux Functions
Warning
doxygenfunction: Cannot find function “sbody::Flux” in doxygen xml output for project “SBody” from directory: ../doxygen
Warning
doxygenfunction: Cannot find function “sbody::FluxDensity” in doxygen xml output for project “SBody” from directory: ../doxygen