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

Arroyo::proportional_integral_controller< input, output, proportional_gain, integral_gain > Class Template Reference

#include <proportional_integral_controller.h>

List of all members.

Public Member Functions

 proportional_integral_controller (const proportional_integral_controller &picntrlr)
 proportional_integral_controller (const char *filename)
 proportional_integral_controller (const iofits &iof)
 proportional_integral_controller (const input &init, const proportional_gain &pgain, const integral_gain &igain)
 ~proportional_integral_controller ()
proportional_integral_controlleroperator= (const proportional_integral_controller &picntrlr)
void update (const input &i, output &o)

Protected Member Functions

 proportional_integral_controller ()

Protected Attributes

proportional_gain propgain
input last_input
integral_gain intgain


Detailed Description

template<class input, class output, class proportional_gain, class integral_gain>
class Arroyo::proportional_integral_controller< input, output, proportional_gain, integral_gain >

A template class to represent a proportional integral controller.

Note that the units on the proportional gain and integral gain differ.

This class requires that the following operators be defined

input::operator*=(gain) input::operator-=(input) output::operator+=(input) input::operator=(input) output::operator=(output) gain::operator=(gain)

Illustrative examples:

Simplest possible controllers proportional_integral_controller(double, double, double, double) proportional_integral_controller(float, float, float, float)

SCAO zonal control, single gain proportional_integral_controller(pixel_array<T>, pixel_array<U>, double, double)

SCAO zonal control, independent gains proportional_integral_controller(pixel_array<T>, pixel_array<U>, pixel_array<V>, pixel_array<W>)

SCAO modal control, single gain proportional_integral_controller(zernike, zernike, double, double)

SCAO modal control, independent gains proportional_integral_controller(zernike, zernike, pixel_array<T>, pixel_array<T>)

atmospheric reconstruction control, single gain proportional_integral_controller(refractive_atmospheric_layer, refractive_atmospheric_layer, double, double)


Constructor & Destructor Documentation

template<class input, class output, class proportional_gain, class integral_gain>
Arroyo::proportional_integral_controller< input, output, proportional_gain, integral_gain >::proportional_integral_controller  )  [inline, protected]
 

Null constructor

template<class input, class output, class proportional_gain, class integral_gain>
Arroyo::proportional_integral_controller< input, output, proportional_gain, integral_gain >::proportional_integral_controller const proportional_integral_controller< input, output, proportional_gain, integral_gain > &  picntrlr  ) 
 

Copy constructor

template<class input, class output, class proportional_gain, class integral_gain>
Arroyo::proportional_integral_controller< input, output, proportional_gain, integral_gain >::proportional_integral_controller const char *  filename  ) 
 

Construct from file

template<class input, class output, class proportional_gain, class integral_gain>
Arroyo::proportional_integral_controller< input, output, proportional_gain, integral_gain >::proportional_integral_controller const iofits iof  ) 
 

Construct from iofits object

template<class input, class output, class proportional_gain, class integral_gain>
Arroyo::proportional_integral_controller< input, output, proportional_gain, integral_gain >::proportional_integral_controller const input &  init,
const proportional_gain &  pgain,
const integral_gain &  igain
 

Construct from the bits

template<class input, class output, class proportional_gain, class integral_gain>
Arroyo::proportional_integral_controller< input, output, proportional_gain, integral_gain >::~proportional_integral_controller  )  [inline]
 

Destructor


Member Function Documentation

template<class input, class output, class proportional_gain, class integral_gain>
proportional_integral_controller< input, output, proportional_gain, integral_gain > & Arroyo::proportional_integral_controller< input, output, proportional_gain, integral_gain >::operator= const proportional_integral_controller< input, output, proportional_gain, integral_gain > &  picntrlr  ) 
 

Operator =

template<class input, class output, class proportional_gain, class integral_gain>
void Arroyo::proportional_integral_controller< input, output, proportional_gain, integral_gain >::update const input &  i,
output &  o
 

Generate commands from residuals


Member Data Documentation

template<class input, class output, class proportional_gain, class integral_gain>
integral_gain Arroyo::proportional_integral_controller< input, output, proportional_gain, integral_gain >::intgain [protected]
 

template<class input, class output, class proportional_gain, class integral_gain>
input Arroyo::proportional_integral_controller< input, output, proportional_gain, integral_gain >::last_input [protected]
 

template<class input, class output, class proportional_gain, class integral_gain>
proportional_gain Arroyo::proportional_integral_controller< input, output, proportional_gain, integral_gain >::propgain [protected]
 


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