GLAMERDOC++
Gravitational Lensing Code Library
|
Base class for all sources. More...
#include <source.h>
Public Member Functions | |
Source (PosType r, Point_2d x, PosType z, PosType SBlimit, PosType zero_point) | |
shell constructor | |
Source (const Source &s) | |
Source & | operator= (const Source &s) |
virtual PosType | SurfaceBrightness (const PosType *y) const =0 |
virtual PosType | getTotalFlux () const =0 |
virtual void | printSource ()=0 |
double | SBlimit_magarcsec (double limit) |
convert mag/arcsec^2 to flux units | |
PosType | getSBlimit () |
Gets sb_limit in erg/cm^2/sec/rad^2/Hz. | |
PosType | getSBlimit_magarcsec () |
Gets sb_limit in mag/arcsec^2. | |
PosType | getZ () const |
Redshift of source. | |
void | setZ (PosType my_z) |
PosType | getRadius () const |
Radius of source in radians. | |
void | setRadius (PosType my_radius) |
Reset the radius of the source in radians. | |
Point_2d | getTheta () const |
position of source in radians | |
void | getTheta (PosType *x) const |
position of source in radians | |
void | getTheta (Point_2d &x) const |
position of source in radians | |
void | setTheta (PosType *xx) |
Reset the position of the source in radians. | |
void | setTheta (PosType my_x, PosType my_y) |
void | setTheta (const Point_2d &p) |
void | setSBlimit (float limit) |
Sets sb_limit in erg/cm^2/sec/rad^2/Hz. | |
void | setMagZeroPoint (float zeropoint) |
double | getMagZeroPoint () |
PosType | changeFilter (std::string filter_in, std::string filter_out, std::string sed) |
Calculates the difference in magnitude when changing the observing filter. More... | |
PosType | integrateFilter (std::vector< PosType > wavel_fil, std::vector< PosType > fil) |
Calculates the integral of the filter curve given as an array of (x,y) values. More... | |
PosType | integrateFilterSED (std::vector< PosType > wavel_fil, std::vector< PosType > fil, std::vector< PosType > wavel_sed, std::vector< PosType > sed) |
Calculates the integral of the sed multiplied by the filter curve. More... | |
double | TEST_surface_brightness (double res, int N) |
test if flux in pixels matches total flux | |
long | getID () const |
void | setID (long i) |
Static Public Member Functions | |
static PosType * | getx (Source &source) |
Protected Member Functions | |
virtual void | assignParams (InputParams ¶ms) |
double | flux_to_mag (double flux) const |
Protected Attributes | |
PosType | source_r |
charactoristic source size | |
Point_2d | source_x |
center of source | |
PosType | zsource |
redshift of source | |
PosType | sb_limit |
long | id |
double | mag_zero_point |
Base class for all sources.
PosType Source::changeFilter | ( | std::string | filter_in, |
std::string | filter_out, | ||
std::string | sed | ||
) |
Calculates the difference in magnitude when changing the observing filter.
filter_in | file with the old observing filter |
filter_out | file with the new observing filter |
sed | file with the galaxy spectral energy distribution |
PosType Source::integrateFilter | ( | std::vector< PosType > | wavel_fil, |
std::vector< PosType > | fil | ||
) |
Calculates the integral of the filter curve given as an array of (x,y) values.
PosType Source::integrateFilterSED | ( | std::vector< PosType > | wavel_fil, |
std::vector< PosType > | fil, | ||
std::vector< PosType > | wavel_sed, | ||
std::vector< PosType > | sed | ||
) |
Calculates the integral of the sed multiplied by the filter curve.
|
pure virtual |
Surface brightness of source in grid coordinates not source centered coordinates.
The units shuld be ergs / s / Hz / cm^2
Implemented in SourceBLRSph2, SourceBLRSph1, SourceBLRDisk, SourcePoint, SourceUniform, SourceShapelets, SourcePixelled, SourceOverzierPlus, SourceMultiShapelets, SourceSersic, SourceMultiAnaGalaxy, and SourceOverzier.