26 #ifndef __GyotoScreen_H_
27 #define __GyotoScreen_H_
199 const double inclination,
200 const double argument);
204 const double inclination,
205 const double argument);
224 void
setDistance(double dist, const std::string unit);
242 void
setPALN(double, const std::string &unit);
266 void
setFreqObs(double fo, const std::string &unit);
278 double
getFreqObs(const std::string &unit) const;
342 double
getPALN(const std::string&) const;
347 void
setMetric(SmartPointer<Metric::Generic> gg);
353 double
getTime(const std::string &);
356 void
setTime(double, const std::string &);
434 void
getRayCoord(double x, double y, double coord[]) const;
445 void
getRayCoord(const size_t i, const size_t j, double coord[]) const;
447 void
coordToSky(const double pos[4], double skypos[3]) const;
450 void
coordToXYZ(const double pos[4], double xyz[3]) const;
458 std::ostream&
print(std::ostream&) const ;
482 #ifdef GYOTO_USE_XERCES
double tobs_
Observing date in s.
Definition: GyotoScreen.h:143
void setPALN(double)
Set position angle of the line of nodes.
SmartPointer< Spectrometer::Generic > spectro_
Gyoto::Spectrometer::Generic subclass instance used for quantities Spectrum and BinSpectrum.
Definition: GyotoScreen.h:175
void unmapPixUnit()
Unmap "pix" and "pixel" from unit system.
void setInclination(double)
Set inclination relative to line-of-sight.
void getFourVel(double fourvel[]) const
Get copy of Screen::fourvel_.
double ey_[3]
Sky coordinate of base Y vector.
Definition: GyotoScreen.h:160
void setObserverPos(const double pos[4])
Alternative way to set projection.
void setScreen1(const double coord[4])
Sets the screen vector e1.
double screen3_[4]
Screen e3 vector (normal)
Definition: GyotoScreen.h:166
double distance_
Distance to the observer in m.
Definition: GyotoScreen.h:148
void setTime(double, const std::string &)
Set observing date in specified unit.
void setScreen3(const double coord[4])
Sets the screen vector e3 (normal)
double fourvel_[4]
Observer's 4-velocity.
Definition: GyotoScreen.h:163
std::ostream & print(std::ostream &) const
Display.
double freq_obs_
Frequency at which the observer observes.
Definition: GyotoScreen.h:182
std::ostream & printBaseVectors(std::ostream &) const
Debug helper.
Reference-counting pointers.
Screen * clone() const
Cloner.
void getRayCoord(double x, double y, double coord[]) const
Get 8-coordinate of Photon hitting screen from a given direction.
void setDelta0(double)
Set direction of the line-of-view.
void setArgument(double)
Set angle beetwen line of nodes and X axis of object.
#define size_t
If not defined in <sys/types.h>.
Definition: GyotoConfig.h:293
double screen2_[4]
Screen e2 vector.
Definition: GyotoScreen.h:165
void coordToSky(const double pos[4], double skypos[3]) const
Convert 4-position to 3-sky position.
double getFreqObs() const
Get freq_obs_.
SmartPointer< Metric::Generic > getMetric() const
Get Screen::gg_.
double fov_
Field-of-view in rad.
Definition: GyotoScreen.h:144
double euler_[3]
Euler angles.
Definition: GyotoScreen.h:158
void getScreen1(double output[]) const
Get copy of Screen::screen1_.
void setMetric(SmartPointer< Metric::Generic > gg)
Set Screen::gg_.
The camera with which the Astrobj is observed.
Definition: GyotoScreen.h:139
double dmax_
Maximum distance from which the photons are launched (geometrical units)
Definition: GyotoScreen.h:149
void setDmax(double dist)
Set ray-tracing maximum distance.
int anglekind_
Screen angles kind (0: equatorial, 1: spherical)
Definition: GyotoScreen.h:151
void setScreen2(const double coord[4])
Sets the screen vector e2.
void mapPixUnit()
Map "pix" and "pixel" to angular pixel width in unit system.
double getArgument() const
Get angle between line of nodes and X axis of object.
size_t npix_
Resolution in pixels.
Definition: GyotoScreen.h:146
double getPALN() const
Get position angle of the line of nodes.
Gyoto ubiquitous macros and typedefs.
Base class for metric description.
double ez_[3]
Sky coordinate of base Z vector.
Definition: GyotoScreen.h:161
void setAnglekind(int)
Set Screen::anglekind_.
void setProjection(const double paln, const double inclination, const double argument)
Set inclination etc.
double getFieldOfView()
Get Screen::fov_ in radians.
void setDistance(double dist)
Set distance from observer.
double getInclination() const
Get inclination relative to line-of-sight.
void coordToXYZ(const double pos[4], double xyz[3]) const
Convert 4-position to 3-cartesian coordinates.
Spectroscopic capabilities of a Screen.
void computeBaseVectors()
Compute base vectors according to projection parameters.
int getCoordKind() const
Get coordinate kind.
void setFieldOfView(double)
Set Screen::fov_ in radians.
void setFreqObs(double fo)
Set freq_obs_.
void getScreen2(double output[]) const
Get copy of Screen::screen2_.
Pointers performing reference counting.
Definition: GyotoSmartPointer.h:51
Can be pointed to by a SmartPointer.
Definition: GyotoSmartPointer.h:79
double delta0_
Screen orientation (0,0) is right towards the BH.
Definition: GyotoScreen.h:169
double getDmax() const
Get maximum ray-tracing distance.
double ex_[3]
Sky coordinate of base X vector.
Definition: GyotoScreen.h:159
double getTime()
Get observing date in seconds.
double screen1_[4]
Screen e1 vector.
Definition: GyotoScreen.h:164
void getScreen3(double output[]) const
Get copy of Screen::screen3_.
void fillElement(FactoryMessenger *fmp)
void setSpectrometer(SmartPointer< Spectrometer::Generic > spectro)
Set Screen::spectro_.
void setResolution(size_t)
Set Screen::npix_.
SmartPointer< Metric::Generic > gg_
The Metric in this end of the Universe.
Definition: GyotoScreen.h:170
double getDistance() const
Get distance from observer.
size_t getResolution()
Get Screen::npix_.
void setAlpha0(double)
Set direction of the line-of-view.
double alpha0_
Screen orientation (0,0) is right towards the BH.
Definition: GyotoScreen.h:168
void setFourVel(const double coord[4])
Sets the observer's 4-velocity.
static SmartPointer< Screen > Subcontractor(FactoryMessenger *fmp)
Instanciate a Screen from XML entity.
void getObserverPos(double coord[]) const
4-Position of the observer relative to the metric
SmartPointer< Spectrometer::Generic > getSpectrometer() const
Get Screen::spectro_.