GLAMERDOC++
Gravitational Lensing Code Library
Loading...
Searching...
No Matches
Source Class Referenceabstract

Base class for all sources. More...

#include <source.h>

Inheritance diagram for Source:
Collaboration diagram for Source:

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.
 
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.
 
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.
 
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

◆ getTotalFlux()

virtual PosType Source::getTotalFlux ( ) const
pure virtual

◆ printSource()

virtual void Source::printSource ( )
pure virtual

◆ 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 SourceBLRDisk, SourceBLRSph1, SourceBLRSph2, SourceMultiAnaGalaxy, SourceMultiShapelets, SourceOverzier, SourceOverzierPlus, SourcePixelled, SourcePoint, SourceSersic, SourceShapelets, and SourceUniform.


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