GLAMERDOC++
Gravitational Lensing Code Library
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Source Class Referenceabstract

Base class for all sources. More...

#include <source.h>

Inheritance diagram for Source:
Inheritance graph
[legend]
Collaboration diagram for Source:
Collaboration graph
[legend]

Public Member Functions

 Source (PosType r, Point_2d x, PosType z, PosType SBlimit, PosType zero_point)
 shell constructor
 
 Source (const Source &s)
 
Sourceoperator= (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 &params)
 
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
 

Detailed Description

Base class for all sources.

Member Function Documentation

◆ changeFilter()

PosType Source::changeFilter ( std::string  filter_in,
std::string  filter_out,
std::string  sed 
)

Calculates the difference in magnitude when changing the observing filter.

Parameters
filter_infile with the old observing filter
filter_outfile with the new observing filter
sedfile with the galaxy spectral energy distribution

◆ integrateFilter()

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.

◆ integrateFilterSED()

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.

◆ SurfaceBrightness()

virtual PosType Source::SurfaceBrightness ( const PosType *  y) const
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.


The documentation for this class was generated from the following files: