parratt.c File Reference


Detailed Description

Contains the main function and utility functions


Functions

int main (int argc, char **argv)
 The main function.
void error (char *msg)
 Terminating error function.
void doFit (Parratt *par)
 Extraneous function for doing the fit.


Function Documentation

int main ( int  argc,
char **  argv 
)

The main function accepts one input file only.

00029 {   
00030     Parratt *parratt;
00031     
00032     if (argc != 2) error("No input files.");
00033     
00034     parratt = initParratt(argv[1]);
00035 
00036     if (parratt->s.doit) 
00037     {
00038         doFit(parratt);
00039     
00040         reportParratt(parratt);
00041         outputProfile(parratt);
00042         outputReflectivity(parratt);
00043         
00044         /* Put these into a free function? */
00045         free(parratt->d1.xpt);
00046         free(parratt->d1.ypt);
00047         free(parratt->d1.sig);
00048         if (parratt->s.pntp == POLARIZED)
00049         {
00050             free(parratt->d2.xpt);
00051             free(parratt->d2.ypt);
00052             free(parratt->d2.sig);
00053         }
00054         free(parratt);
00055     }
00056     else 
00057     {
00058         reportParratt(parratt);
00059         outputProfile(parratt);
00060         outputReflectivity(parratt);
00061         
00062         free(parratt);
00063     }
00064     
00065     return(EXIT_SUCCESS);
00066 }

void error ( char *  msg  ) 

This function is called for terminating errors.

00073 {
00074     fprintf(stdout, "\nParratt: Error: %s\n\n", msg);
00075     exit(EXIT_FAILURE);
00076 }

void doFit ( Parratt par  ) 

As a suggestion for future expansion, this function shows how the fitting routine might be initialized from inside another function, such as a button callback.

00083 {
00084     /* 1. Store the parameters */
00085     /* 2. Do fit               */
00086     fit_method.solv_type(par);
00087     /* 3. Ask if keep fit      */
00088     /* YES - return            */
00089     /* NO - restore old params */
00090     return;
00091 }


Generated on Wed Mar 14 13:24:56 2007 for Parratt by  doxygen 1.4.7