|
Open PaperOpt
|
00001 // Detector.h: interface for the Detector class. 00002 // 00004 00005 #include "WavePacket.h" 00006 00007 00008 #include <string> 00009 #include <time.h> 00010 #include "Output.h" 00011 #include <vector> 00012 00013 00014 #if !defined(AFX_DETECTOR_H__16D771BF_2F8A_11D6_8050_00609705562A__INCLUDED_) 00015 #define AFX_DETECTOR_H__16D771BF_2F8A_11D6_8050_00609705562A__INCLUDED_ 00016 00017 #if _MSC_VER >= 1000 00018 #pragma once 00019 #endif // _MSC_VER >= 1000 00020 00021 00022 00023 00024 00025 #define ERR 0 00026 #define ARS 1 00027 #define ARSFAST 100 00028 #define ARSGLOBE 101 00029 #define IMAGE 2 00030 #define CIRCULAR 11 00031 00032 class Detector 00033 { 00034 public: 00035 Detector(); 00036 virtual ~Detector(); 00047 int aperprop(WavePacket &wp, WavePacket &wp_out,const double theta,const double phi,int do_prop) const; 00048 virtual int Process(WavePacket &wp, int up_down, int internal) const {cerr<<"CALL TO DETECTOR PROCESS";return 0;}; 00049 virtual int WriteResults(int power_inc) const {cerr<<"CALL TO DETECTOR WRITE";return 0;}; 00050 virtual int WriteResults2(std::vector<double> power_inc, IO::Output& rOutput) const {cerr<<"CALL TO DETECTOR WRITE";return 0;}; 00051 00052 00064 //const Detector* mGetPrevious () const {return m_previous ; } 00065 const Detector* mGetNext () const {return m_next ; } 00066 00071 //const Detector *m_previous ; 00072 const Detector *m_next ; 00073 00074 protected: //to be used by derived classess 00075 int mType, mAptType; 00076 int mReftra; // reflectance or transmittance 00077 float mDistance; 00078 float mAptDiameter; 00079 std::string mOutputFilename; 00080 int mNbrLambda; 00081 std::vector<float> mAlllambda; 00082 00083 }; 00084 00085 #endif // !defined(AFX_DETECTOR_H__16D771BF_2F8A_11D6_8050_00609705562A__INCLUDED_) 00086