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

Arroyo::structure_function Class Reference

#include <structure_function.h>

Inheritance diagram for Arroyo::structure_function:

Arroyo::AO_sim_base Arroyo::pixel_array< double > List of all members.

Public Member Functions

 structure_function ()
 structure_function (const structure_function &structfn)
 structure_function (const char *filename)
 structure_function (const iofits &iof)
 structure_function (const pixel_array< double > &pixarr, double pixscale)
 structure_function (const power_spectrum *pspectrum, vector< long > axes, double pixscale)
 structure_function (const power_spectrum *pspectrum, const subharmonic_method &subm, vector< long > axes, double pixscale)
 ~structure_function ()
structure_functionoperator= (const structure_function &structfn)
void set_axes (const vector< long > &in_axes)
double get_pixel_scale () const
vector< long > get_axes () const
void read (const char *filename)
void read (const iofits &iof)
void write (const char *filename) const
void write (iofits &iof) const
void print (ostream &os, const char *prefix="") const
template<class T>
void add_statistics (const refractive_atmospheric_layer< T > &ref_atm_layer)

Protected Attributes

double pixel_scale
 The pixel scale in meters.

Detailed Description

A class to represent structure functions. The structure function can be one or two dimensional, or zero dimensional when created by the null constructor.

Also, the add_statistics member function can leave the structure function in a state in which weights for the underlying pixel_array have been allocated and the data itself is unnormalized by these weights. Alternatively, the data may have been normalized by a call to pixel_array<double>::normalize_by_weights. Finally, no weights may exist. Thus there are 3 possible states for an instance of this class. However, none of the member functions need to check the state - they all initialize the pixel array to whatever state they require. In the future, I forsee only the plotting member function being affected by the state. This function will normalize by weights if the weights exist, and then will plot the data.


Constructor & Destructor Documentation

Arroyo::structure_function::structure_function  ) 
 

Null constructor

Arroyo::structure_function::structure_function const structure_function structfn  ) 
 

Copy constructor

Arroyo::structure_function::structure_function const char *  filename  ) 
 

Construct from file

Arroyo::structure_function::structure_function const iofits iof  ) 
 

Construct from an iofits object

Arroyo::structure_function::structure_function const pixel_array< double > &  pixarr,
double  pixscale
 

Construct from the pieces

Arroyo::structure_function::structure_function const power_spectrum pspectrum,
vector< long >  axes,
double  pixscale
 

Construct the theoretical structure function from a power spectrum.

This constructor throws an error unless the power spectrum is isotropic with a von karman outer scale and no inner scale.

Arroyo::structure_function::structure_function const power_spectrum pspectrum,
const subharmonic_method subm,
vector< long >  axes,
double  pixscale
 

Construct the expected structure function from a power spectrum.

Arroyo::structure_function::~structure_function  )  [inline]
 

Destructor


Member Function Documentation

template<class T>
void Arroyo::structure_function::add_statistics const refractive_atmospheric_layer< T > &  ref_atm_layer  )  [inline]
 

Incorporate statistics of a refractive atmospheric layer into the structure function. Within this function, the axes of this structure function are reset to a size corresponding to the maximum allowed by the dimensions of the refractive_atmospheric_layer The pixel_scale of the structure function is also set to that of the refractive_atmospheric_layer

vector<long> Arroyo::structure_function::get_axes void   )  const [inline]
 

Return the axes

Reimplemented from Arroyo::pixel_array< double >.

double Arroyo::structure_function::get_pixel_scale  )  const [inline]
 

Return the pixel scale

structure_function& Arroyo::structure_function::operator= const structure_function structfn  ) 
 

Operator =

void Arroyo::structure_function::print ostream &  os,
const char *  prefix = ""
const [virtual]
 

Print

Implements Arroyo::AO_sim_base.

void Arroyo::structure_function::read const iofits iof  )  [virtual]
 

Read from iofits

Reimplemented from Arroyo::pixel_array< double >.

void Arroyo::structure_function::read const char *  filename  ) 
 

Read from file

void Arroyo::structure_function::set_axes const vector< long > &  in_axes  ) 
 

Set the axes - this destroys and reallocates the underlying pixel array if in_axes != this->axes

Reimplemented from Arroyo::pixel_array< double >.

void Arroyo::structure_function::write iofits iof  )  const [virtual]
 

Write to iofits

Reimplemented from Arroyo::pixel_array< double >.

void Arroyo::structure_function::write const char *  filename  )  const
 

Write to file


Member Data Documentation

double Arroyo::structure_function::pixel_scale [protected]
 

The pixel scale in meters.


The documentation for this class was generated from the following file:
Generated on Thu Nov 29 17:16:36 2007 for arroyo by  doxygen 1.3.9.1