hitran2refr  Richard J. Mathar, J. Opt. A: Pure Appl. Opt. 9 (2007) 470
Macros | Functions
transition.cxx File Reference
Include dependency graph for transition.cxx:

Macros

#define ATOMS_OFFSET   100
 
#define MHZ2WN(h)   (1.e4*(h)/VACUUMC)
 
#define EV2WN(e)   ((e)/HC)
 
#define WN2HARTREE(w)   (HC*(w)/HARTREE)
 
#define WN2MICRON(w)   (1.e4/(w))
 
#define MICRON2WN(m)   (1.e4/(m))
 
#define WN2OMEGA(w)   (2.*M_PI*100.*VACUUMC*(w))
 
#define WN2HZ(w)   (100.*VACUUMC*(w))
 
#define MICRON2OMEGA(m)   (2.*M_PI*1.e6*VACUUMC/(m))
 
#define DMICRON2DOMEGA(m, o)   ((m)*(o)*(o)/(2.*M_PI*VACUUMC))
 

Functions

template<class TYPE >
istream & getval (istream &is, TYPE &buf, int width)
 
void tag2molec (const int jpltag, int &molec, int &isot)
 

Macro Definition Documentation

◆ ATOMS_OFFSET

#define ATOMS_OFFSET   100

◆ DMICRON2DOMEGA

#define DMICRON2DOMEGA (   m,
 
)    ((m)*(o)*(o)/(2.*M_PI*VACUUMC))

convert differential in micron to differential of angular frequency. $ d \omega /d \lambda = 2 \pi c/\lambda^2 $, $ d \omega=d \lambda \omega/\lambda = d \lambda \omega^2/(2\pi c)$ .

◆ EV2WN

#define EV2WN (   e)    ((e)/HC)

convert eV to wavenumber

◆ MHZ2WN

#define MHZ2WN (   h)    (1.e4*(h)/VACUUMC)

convert Megahertz to wavenumber

◆ MICRON2OMEGA

#define MICRON2OMEGA (   m)    (2.*M_PI*1.e6*VACUUMC/(m))

convert micron to angular frequency

◆ MICRON2WN

#define MICRON2WN (   m)    (1.e4/(m))

convert micron to wavenumber

◆ WN2HARTREE

#define WN2HARTREE (   w)    (HC*(w)/HARTREE)

convert wavenumber to hartree

◆ WN2HZ

#define WN2HZ (   w)    (100.*VACUUMC*(w))

Convert spectroscopic wavenumber [1/cm] to frequency [Hz]

◆ WN2MICRON

#define WN2MICRON (   w)    (1.e4/(w))

convert wavenumber to micron

◆ WN2OMEGA

#define WN2OMEGA (   w)    (2.*M_PI*100.*VACUUMC*(w))

convert wavenumber to angular frequency

Function Documentation

◆ getval()

template<class TYPE >
istream& getval ( istream &  is,
TYPE &  buf,
int  width 
)

Obtain a formatted value from a HITRAN line (input stream). Read a formatted value of the indicated type from the input stream, but only to a maximum number of bytes

Parameters
[in,out]isthe input file stream. On exit this is re-positioned to a point width further than the position it had before calling the function.
[out]bufthe position to write the values read into
[in]widthmaximum number of bytes to consider for input. This is the decisive difference to the standard way of reading streams which would swallow everything up to the next blank. This here is a reader made to deal with Fortran-formatted, not necessarily blank-delimited lines of input.

◆ tag2molec()

void tag2molec ( const int  jpltag,
int &  molec,
int &  isot 
)

Convert JPL molecular tags to HITRAN molecular numbers.

Parameters
[in]jpltagone of the 5-digit JPL molecular ID's
[out]molecthe HITRAN molecular number
[out]isotthe HITRAN isotope number
Author
Richard J. Mathar
Warning
Only a limited list of molecules is handled.