spec_calc_kinds.cpp
上传用户:jtjnyq9001
上传日期:2014-11-21
资源大小:3974k
文件大小:2k
源码类别:

3G开发

开发平台:

Visual C++

  1. //
  2. //  File = spec_calc_kinds.cpp
  3. //
  4. #include <stdlib.h>
  5. #include <fstream>
  6. #include <string.h>
  7. #include "parmfile.h"
  8. #include "spect_calc_kinds.h"
  9. #include "psstream.h"
  10. extern ParmFile *ParmInput;
  11. //======================================================
  12. KIND_OF_SPECT_CALC_T GetKindOfSpectCalcParm(const char* parm_nam)
  13. {
  14.   char parm_str[30];
  15.   if(ParmInput->GetParmStr(parm_nam, parm_str)!=0)
  16.     {
  17.     ParmInput->RestartBlock();
  18.     if(ParmInput->GetParmStr(parm_nam, parm_str) !=0)
  19.       {
  20.       ErrorStream <<  "Error: parameter '" << parm_nam 
  21.                   << "' not found after 2 attempts" << endl;
  22.       exit(-1);
  23.       }
  24.     }
  25.   if(!strcmp(parm_str,"SPECT_CALC_SAMPLE_SPECTRUM")) return(SPECT_CALC_SAMPLE_SPECTRUM);
  26.   if(!strcmp(parm_str,"SPECT_CALC_BARTLETT_PDGM")) return(SPECT_CALC_BARTLETT_PDGM);
  27.   ErrorStream <<  "Error: '" << parm_str 
  28.               << "' is not a legal value for type KIND_OF_SPECT_CALC_T" << endl;
  29.   exit(-1);
  30. }
  31. ostream& operator<<( ostream& s, const KIND_OF_SPECT_CALC_T& kind_spect_calc)
  32. {
  33.   switch (kind_spect_calc)
  34.     {
  35.     case SPECT_CALC_SAMPLE_SPECTRUM:
  36.       s << "SPECT_CALC_SAMPLE_SPECTRUM";
  37.       break;
  38.     case SPECT_CALC_BARTLETT_PDGM:
  39.       s << "SPECT_CALC_BARTLETT_PDGM";
  40.       break;
  41.     default:
  42.       s << "unknown KIND_OF_SPECT_CALC_T";
  43.     } // end of switch on kind_spect_calc
  44.  return s;
  45. }
  46. PracSimStream& operator<<( PracSimStream& s, const KIND_OF_SPECT_CALC_T& kind_spect_calc)
  47. {
  48.   switch (kind_spect_calc)
  49.     {
  50.     case SPECT_CALC_SAMPLE_SPECTRUM:
  51.       s << "SPECT_CALC_SAMPLE_SPECTRUM";
  52.       break;
  53.     case SPECT_CALC_BARTLETT_PDGM:
  54.       s << "SPECT_CALC_BARTLETT_PDGM";
  55.       break;
  56.     default:
  57.       s << "unknown KIND_OF_SPECT_CALC_T";
  58.     } // end of switch on kind_spect_calc
  59.  return s;
  60. }