75 x = -1 + 2 * rng.
draw();
76 y = -1 + 2 * rng.
draw();
81 while (r2 > 1.0 || r2 == 0);
84 return sigma * y * sqrt (-2.0 * log (r2) / r2);
175 sampled_rte_los=bore_sight_los;
180 if ( sampled_rte_los[1]>180 )
182 sampled_rte_los[1]-=360;
192 os <<
"invalid Antenna type.";
193 throw runtime_error( os.str() );
200 os <<
"MCAntenna: Output operator not implemented";
void set_pencil_beam(void)
makes the antenna pattern a pencil beam
void set_gaussian(const Numeric &za_sigma, const Numeric &aa_sigma)
makes the antenna pattern a 2D gaussian specified by za and aa standard deviations ...
void draw_los(VectorView &sampled_rte_los, Rng &rng, ConstVectorView bore_sight_los) const
draws a line of sight by sampling the antenna response function
Workspace functions for the solution of cloud-box radiative transfer by Monte Carlo methods...
Numeric ran_gaussian(Rng &rng, const Numeric sigma)
ran_gaussian
ostream & operator<<(ostream &os, const MCAntenna &)
NUMERIC Numeric
The type to use for all floating point numbers.
An Antenna object used by MCGeneral.
A constant view of a Vector.
A constant view of a Matrix.
void set_gaussian_fwhm(const Numeric &za_fwhm, const Numeric &aa_fwhm)
makes the antenna pattern a 2D gaussian specified by za and aa FWHM
void set_lookup(ConstVectorView &za_grid, ConstVectorView &aa_grid, ConstMatrixView &G_lookup)
makes the antenna pattern use a 2D lookup table to define the antenna response
AntennaType get_type(void) const
returns the antenna type