Open PaperOpt
OpenPaperOpt/Detector.h
Go to the documentation of this file.
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