Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

sim_utils.h File Reference

#include <cmath>
#include <iostream>
#include <cassert>
#include "three_point.h"
#include "three_vector.h"
#include "three_frame.h"
#include "fits_header_data.h"

Go to the source code of this file.

Namespaces

namespace  Arroyo

Classes

class  Arroyo::alloc_size

Functions

ostream & operator<< (ostream &, const alloc_size &)
void fresnel_integral (double x, double &cf, double &sf)
diffractive_wavefront< double > propagation_from_rectangular_aperture (vector< double > aperture_physical_dimensions, vector< long > final_axes, double dist, double wavelength, double pixel_scale)
template<class T>
void goertzel_reinsch_recursor (int dimen, T *data, double angle, T &real, T &imag)
template<class T>
void goertzel_reinsch_transform (vector< long > initial_axes, vector< long > final_axes, double sampling_factor, T *initial_data, T *final_data)


Function Documentation

void fresnel_integral double  x,
double &  cf,
double &  sf
 

Returns the fresnel sin and cos integrals for the value x Modified from the numerical recipes in C routine. Warning - the text version of the NRC routine contains bugs.

template<class T>
void goertzel_reinsch_recursor int  dimen,
T *  data,
double  angle,
T &  real,
T &  imag
 

This function effects the Goertzel-Reinsch recursion relation for computing the values data*cos(angle) and data*sin(angle) summed over dimen data elements.

The algorithm is described on page 84 of Stoer & Burlisch, "Introduction to Numerical Analysis" 2nd edition (Springer-Verlag 1993)

Time scale:

This routine requires order 3*dimen additions and dimen multiplications to compute these sums.

Arguments:

dimen is the dimensionality of the data

data is a pointer to the beginning of the data

Angle is in radians

template<class T>
void goertzel_reinsch_transform vector< long >  initial_axes,
vector< long >  final_axes,
double  sampling_factor,
T *  initial_data,
T *  final_data
 

The user must allocate memory for the final data array before calling this function

ostream& operator<< ostream &  ,
const alloc_size & 
 

diffractive_wavefront<double> propagation_from_rectangular_aperture vector< double >  aperture_physical_dimensions,
vector< long >  final_axes,
double  dist,
double  wavelength,
double  pixel_scale
 

Returns a wavefront constructed via the analytic solution for wave propagation through a rectangular aperture.

The initial physical dimension is that of the aperture, in meters The final physical dimension specifies the dimensions of the final wavefront, in meters distance is measured from the aperture,in meters wavelength is in meters pixel scale of the final wavefront is in meters/pixel


Generated on Thu Nov 29 17:16:32 2007 for arroyo by  doxygen 1.3.9.1