26 #ifndef __GyotoScreen_H_
27 #define __GyotoScreen_H_
223 const double inclination,
224 const double argument);
228 const double inclination,
229 const double argument);
241 void
dMax(double dist);
248 void
distance(double dist, const std::string unit);
266 void
PALN(double, const std::string &unit);
270 void
argument(double, const std::string &unit);
272 void
spectrometer(SmartPointer<Spectrometer::Generic> spectro);
290 void
freqObs(double fo, const std::string &unit);
302 double
freqObs(const std::string &unit) const;
343 double
distance(const std::string&) const;
366 double
PALN(const std::string&) const;
368 double
argument(const std::string&) const;
371 void
metric(SmartPointer<Metric::Generic> gg);
377 double
time(const std::string &);
380 void
time(double, const std::string &);
400 void
alpha0(double, const std::string &unit);
404 double
alpha0(std::string unit);
408 void
delta0(double, const std::string &unit);
412 double
delta0(std::string unit);
427 void
mask(double const * const mm, size_t resolution=0);
430 double const *
mask() const ;
431 # ifdef GYOTO_USE_CFITSIO
445 bool operator()(size_t, size_t);
496 void
getRayCoord(double x, double y, double coord[]) const;
507 void
getRayCoord(const size_t i, const size_t j, double coord[]) const;
509 void
coordToSky(const double pos[4], double skypos[3]) const;
512 void
coordToXYZ(const double pos[4], double xyz[3]) const;
520 std::ostream&
print(std::ostream&) const ;
544 #ifdef GYOTO_USE_XERCES
double tobs_
Observing date in s.
Definition: GyotoScreen.h:154
double const * mask() const
Retrieve const pointer to mask_.
SmartPointer< Spectrometer::Generic > spectro_
Gyoto::Spectrometer::Generic subclass instance used for quantities Spectrum and BinSpectrum.
Definition: GyotoScreen.h:199
void unmapPixUnit()
Unmap "pix" and "pixel" from unit system.
Pointers performing reference counting.
Definition: GyotoSmartPointer.h:51
void getFourVel(double fourvel[]) const
Get copy of Screen::fourvel_.
double ey_[3]
Sky coordinate of base Y vector.
Definition: GyotoScreen.h:184
void setObserverPos(const double pos[4])
Alternative way to set projection.
double time()
Get observing date in seconds.
double alpha0() const
Get direction of the center of the field.
void setScreen1(const double coord[4])
Sets the screen vector e1.
double screen3_[4]
Screen e3 vector (normal)
Definition: GyotoScreen.h:190
double distance_
Distance to the observer in m.
Definition: GyotoScreen.h:172
void fitsWriteMask(std::string fname)
Save mask_ from FITS file.
void setScreen3(const double coord[4])
Sets the screen vector e3 (normal)
double fourvel_[4]
Observer's 4-velocity.
Definition: GyotoScreen.h:187
std::ostream & print(std::ostream &) const
Display.
double freq_obs_
Frequency at which the observer observes.
Definition: GyotoScreen.h:206
std::ostream & printBaseVectors(std::ostream &) const
Debug helper.
int coordKind() const
Get coordinate kind.
Reference-counting pointers.
double distance() const
Get distance from observer.
Screen * clone() const
Cloner.
void getRayCoord(double x, double y, double coord[]) const
Get 8-coordinate of Photon hitting screen from a given direction.
#define size_t
If not defined in .
Definition: GyotoConfig.h:305
double screen2_[4]
Screen e2 vector.
Definition: GyotoScreen.h:189
void coordToSky(const double pos[4], double skypos[3]) const
Convert 4-position to 3-sky position.
double fov_
Field-of-view in rad.
Definition: GyotoScreen.h:155
double euler_[3]
Euler angles.
Definition: GyotoScreen.h:182
void getScreen1(double output[]) const
Get copy of Screen::screen1_.
The camera with which the Astrobj is observed.
Definition: GyotoScreen.h:150
double dmax_
Maximum distance from which the photons are launched (geometrical units)
Definition: GyotoScreen.h:173
int anglekind_
Screen angles kind (0: equatorial, 1: spherical)
Definition: GyotoScreen.h:175
void setScreen2(const double coord[4])
Sets the screen vector e2.
void mapPixUnit()
Map "pix" and "pixel" to angular pixel width in unit system.
std::string mask_filename_
Last read or written FITS file.
Definition: GyotoScreen.h:170
double freqObs() const
Get freq_obs_.
size_t npix_
Resolution in pixels.
Definition: GyotoScreen.h:157
double argument() const
Get angle between line of nodes and X axis of object.
Gyoto ubiquitous macros and typedefs.
Base class for metric description.
double delta0() const
Get direction of the center of the field.
double ez_[3]
Sky coordinate of base Z vector.
Definition: GyotoScreen.h:185
void fitsReadMask(std::string fname)
Read mask_ from FITS file.
void setAnglekind(int)
Set Screen::anglekind_.
double dMax() const
Get maximum ray-tracing distance.
void setProjection(const double paln, const double inclination, const double argument)
Set inclination etc.
double PALN() const
Get position angle of the line of nodes.
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.
Namespace for the Gyoto library.
Definition: GyotoAstrobj.h:42
double inclination() const
Get inclination relative to line-of-sight.
SmartPointer< Metric::Generic > metric() const
Get Screen::gg_.
void getScreen2(double output[]) const
Get copy of Screen::screen2_.
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:193
double ex_[3]
Sky coordinate of base X vector.
Definition: GyotoScreen.h:183
SmartPointer< Spectrometer::Generic > spectrometer() const
Get Screen::spectro_.
double screen1_[4]
Screen e1 vector.
Definition: GyotoScreen.h:188
void getScreen3(double output[]) const
Get copy of Screen::screen3_.
void fillElement(FactoryMessenger *fmp)
SmartPointer< Metric::Generic > gg_
The Metric in this end of the Universe.
Definition: GyotoScreen.h:194
double fieldOfView()
Get Screen::fov_ in radians.
double alpha0_
Screen orientation (0,0) is right towards the BH.
Definition: GyotoScreen.h:192
void setFourVel(const double coord[4])
Sets the observer's 4-velocity.
static SmartPointer< Screen > Subcontractor(FactoryMessenger *fmp)
Instanciate a Screen from XML entity.
double * mask_
Mask with 0 where the ray-tracing should not be performed.
Definition: GyotoScreen.h:162
void getObserverPos(double coord[]) const
4-Position of the observer relative to the metric
size_t resolution()
Get Screen::npix_.