QCGGS Class Reference

Class designed to represent the Generalised Gerchberg-Saxton (GGS) Algorithm and all its numerical calculations. Uses other relevant QC objects to achieve this. More...

#include <qcggs.h>

List of all members.

Public Member Functions

Constructors
 QCGGS ()
 Standard Constructor.
 ~QCGGS ()
 Standard Destructor.
Data Operations
void setNoOfImages (int number)
 Sets the total number of images to be loaded.
void setIteration (int number)
 Sets the current iteration number to "number".
void setMaxIterations (int max)
 Sets the maximum number of iterations to be done.
void setMaxTimeSteps (int max)
 Sets the maximum number of timesteps between images.
void setFilePrefix (string prefix)
 Sets the file prefix to be used in loading images.
void setSystem (QCQuantumSystem< complexType, 2 > &system)
 Sets the system to apply GGS algorithm on. This initializes the GGS Algorithm. Overloaded for 2-component BECs.
void setSystem (QC2ComponentBEC< 2 > &system)
void setGuess (parameterType mag, parameterType phase)
 Sets the values of the initial field used to reconstruct the phase of.
int getNoOfImages ()
 Returns the total number of images to be loaded.
int getIterationNo ()
 Returns the current iteration number of the algorithm.
int getMaxIterations ()
 Returns the maximum number of iterations to be done.
int getTimeSteps ()
 Returns the maximum number of timesteps between images.
string getFilePrefix ()
 Returns the file prefix used in loading images.
QCQuantumSystem< complexType, 2 > * getSystem ()
 Returns the system to apply GGS algorithm on.
void loadImages (string extension)
 Loads images with the file prefix and extension provided.
void writeResults (string extension)
 Writes the results obtained from reconstruction.
void writeOriginals (string extension)
 Writes the original phases of the images.
GGS Operations
void copyField (QCComplexField< 2 > &dest, QCComplexField< 2 > &source)
 Copies field from source to dest.
void copyField (QCComplexField< 2 > &dest, Array< complexType, 2 > &source)
 Overloaded function of above to take in Blitz++ directly.
void updateMagnitude (QCComplexField< 2 > &image, QCComplexField< 2 > &result)
 Copies magnitude from image to result maintaining phase information of the result.
void updateMagnitude (QCComplexField< 2 > &image, Array< complexType, 2 > &result)
 Overloaded function of above to take in Blitz++ directly.
parameterType RMSError (QCComplexField< 2 > &original, QCComplexField< 2 > &result)
 Determines RMS Error between the original and the result.
parameterType RMSError (QCComplexField< 2 > &original, Array< complexType, 2 > &result)
 Determines RMS Error between the original and the result. Overloaded for Blitz Arrays.
parameterType iterate (QCBEC< 2 > &bec)
 Conducts one iteration of the GGS Algorithm. Returns RMS Error of the last image.
parameterType iterate (QC2ComponentBEC< 2 > &bec)
 Conducts one iteration of the GGS Algorithm. Overloaded for a 2-component BEC. Returns RMS Error of the last image.

Protected Attributes

int noOfImages
 Number of Images to be used.
int iterationNo
 Keeps track of the current iteration number.
int maxIterations
 Maximum number of iterations to be conducted.
int maxTimeSteps
 Maximum number of timesteps between images.
parameterType rmsError
 RMS Error at each iteration.
string filePrefix
 The file prefix to be used for loading images.
QCQuantumSystem< complexType, 2 > * ptrSystem
 Pointer to the system to which the GGS algorithm will be applied to.
Array< complexType, 2 > * ptrField
 Pointer to the field to which the GGS algorithm will be applied to.
Array< complexType, 2 > * ptrField2
 2nd Pointer to the field to which the GGS algorithm will be applied to for 2-component BECs
Array< QCComplexField< 2 >, 1 > GSPhases
 Array of intermediate phases reconstructed.
Array< QCComplexField< 2 >, 1 > GSPhases2
 2nd Array of intermediate phases reconstructed for 2-component BECs
Array< QCComplexField< 2 >, 1 > Images
 The Images Loaded.
Array< QCComplexField< 2 >, 1 > Images2
 The 2nd set of Images Loaded for 2-component BECs.
bool twoCompBEC
 Flag for 2-component BECs.


Detailed Description

Class designed to represent the Generalised Gerchberg-Saxton (GGS) Algorithm and all its numerical calculations. Uses other relevant QC objects to achieve this.

Author:
Shekhar S. Chandra

Definition at line 40 of file qcggs.h.


The documentation for this class was generated from the following files:
Generated on Sat May 13 13:22:50 2006 for Quantum Construct (qC++) by  doxygen 1.4.6-NO