Main Page   Namespace List   Compound List   File List   Namespace Members   Compound Members   File Members  

atmos.hxx

Go to the documentation of this file.
00001 /*--------------------------------------------------------------------------*/
00053 /* This header file is equipped with documentation made in comments in a
00054 * format suitable for production of LaTeX or HTML documentation with the
00055 * doxygen software.
00056 * Editor tabular size: 4                                                    */
00057 /****************************************************************************/
00058 
00059 #ifndef _ATMOS_H
00060 #define _ATMOS_H
00061 
00062 #include <stdio.h>
00063 
00069 namespace atm {
00070 
00074 enum ordint {
00075         FSEE,   
00076         WSEE,   
00077         ISP,    
00078         M2,             
00079         FHEFF,  
00080         HEFF,   
00081         TC,     
00082         LAST
00083 } ;
00084 
00086 enum atmwhat {
00087         ATMPAR, 
00088         CN2PROF 
00089 } ;
00090 
00092 const bool HEAD = true ;        
00093 
00094 /****************************************************************************/
00095 /*                     Declarations of local functions:                     */
00096 /****************************************************************************/
00097 
00123 void init(
00124         int nchan, double diam, double *eps_inn, double *eps_out,
00125         double z0, double zmax, double dz, double dzmin,
00126         const char * responsefile) ;
00127 
00152 int loadsed(const char * sedfile) ;
00153 
00165 int checkwf(const char * wfile) ;
00166 
00183 void calcwf(const char * wfile, void(* progress)(int)) ;
00184 
00222 void update(const char * wfile, const char * checkfile, 
00223         double zshift1, double zshift2) ;
00224                                 
00231 void alloc(int nmeas) ;         
00232 
00243 void done() ;
00244 
00245 /****************************************************************************/
00246 /*                    Global atmospheric parameters access                  */
00247 /****************************************************************************/
00248 
00257 double getval(ordint what) ;
00258 
00267 double geterr(ordint what) ;
00268 
00269 
00279 int getncn2() ;
00280 
00288 double getzcn2(int i) ;
00289 
00301 double getcn2(int i) ;
00302 
00303 /****************************************************************************/
00304 /*                     Calculation of atmosphere parameters                 */
00305 /****************************************************************************/
00306 
00334 void calcint(double * scind, double * scinds) ;
00335 
00359 double calcn2(double * scind, double * scinds,
00360         double * e2scind, double * e2scinds, bool isfixed) ;
00361         
00433 void avgint(double desi, double e2desi, double zdist) ;
00434 
00461 void write(FILE * f, const char * stamp, atmwhat what, bool header = false) ;
00462 
00470 double getavgint(int i) ;
00471 
00479 double geter2int(int i) ;
00480 
00481 /*==========================================================================*/
00482 /*                             Definitions                                  */
00483 /*==========================================================================*/
00484 
00486 const int NMODE = 2 ;
00487 
00489 const double MINRELW = 1e-4 ;
00490 
00493 const int MAXNBASE = 10 ;
00494 
00497 const char USESHFT[] = "1100100000" ;
00498 //#define USESHFT "1111111111"
00499 
00500 const double POWSEE = 0 ;               
00501 const double POWISP = 5/3. ;    
00502 const double POWEFF = 1.0 ;             
00503 const double POWISK = 2.0 ;             
00508 const double HBOUND = 1.0 ;
00509 
00511 const int NPOWER = 5 ;
00512 
00515 enum poweridx {
00516 IFSE,   
00517 IWSE,   
00518 IISP,   
00519 IEFF,   
00520 IISK    
00521 } ;
00522 
00526 const double KS = 1.73588e+07 ;
00527 
00531 const double KP = 0.000756348 ;
00532 
00535 const double KT = 0.175 ;
00536 
00538 const double DZCN2 = 1 ;
00539 
00545 const char INTFMT[][8] = {"%s%6.3f","%s%6.3f","%s%6.3f","%s%8.2e","%s%5.0f",\
00546         "%s%5.0f","%s%5.2f"} ;
00547 
00549 const char INTDLM[] = " " ;
00550 
00552 const char ALTFMT[] =  "%s%2.0f" ;
00553 
00555 const char CN2FMT[] = "%s%8.2e" ;
00556 
00557 } // of namespace at
00558 #endif

Generated on Wed Jan 16 00:40:06 2002 for MASS Software by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001