Main Page | Class Hierarchy | Class List | File List | Class Members | Related Pages

Ifg2Spectrum.h

Go to the documentation of this file.
00001 
00050 #ifndef H_IFG2SPEC_STAGE
00051 #define H_IFG2SPEC_STAGE
00052 
00053 #ifndef NO_DEPENDENCY_INCLUDES
00054 // GIPS includes
00055 #include "Physics.h"
00056 #include "Instrument.h"
00057 #include "ProtocolRole.h"
00058 #include "Operator.h"
00059 
00060 #endif
00061 
00062 namespace Ifg2Spectrum
00063 {
00065     struct Config_t {
00066         size_t npts; 
00067         int foldPoint; 
00068         Config_t( size_t n, int f ): npts( n ), foldPoint( f ) { }; 
00069     };
00070         
00071     typedef  Connector::InputPort< Instrument::BlitzCplxDoubleVector > &JackIn;
00072     typedef  Connector::OutputPort< Instrument::BlitzCplxDoubleVector > &JackOut;
00073     typedef  Connector::InputPort< Config_t > &JackConfig;
00074 
00075     
00077 struct Ports {
00078     JackIn inputInterferogram; 
00079     JackOut outputSpectrum; 
00080     JackConfig config; 
00081     
00082     Ports( JackIn, JackOut, JackConfig ); 
00083 };
00084         
00085     
00089 class Ifg2SpectrumStage: Operator::AbstractOperator
00090 {
00091 protected:    
00092     Ports &ports;
00093     explicit Ifg2SpectrumStage( Ports & );
00094 public:
00095     virtual Operator::Result operator()( ); 
00096     virtual ~Ifg2SpectrumStage(); // abstract class
00097 
00099     static Ifg2SpectrumStage *Factory( Instrument::Implementation, Ports & );
00100 }; // class Ifg2SpectrumStage
00101 
00102 } // namespace
00103 #endif

Generated on Fri Oct 8 15:37:38 2004 for Calibrate.InterferogramToSpectrum by doxygen 1.3.4