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

IfgShift.h

Go to the documentation of this file.
00001 
00034 #ifndef H_IFGSHIFT
00035 #define H_IFGSHIFT
00036 
00037 #ifndef NO_DEPENDENCY_INCLUDES
00038 // GIPS includes
00039 #include "Physics.h"
00040 #include "Instrument.h"
00041 #include "ProtocolRole.h"
00042 #include "Operator.h"
00043 
00044 #endif
00045 
00046 namespace IfgShift 
00047 {
00048     
00050 struct Config_t {
00051     size_t npts; 
00052     explicit Config_t( size_t n ): npts( n ) { }; 
00053 }; // struct Config_t
00054     
00055 // these are useful enough to be promoted... no?
00056 typedef  Connector::InputPort< Instrument::BlitzCplxDoubleVector > &JackIn;
00057 typedef  Connector::OutputPort< Instrument::BlitzCplxDoubleVector > &JackOut;
00058 typedef  Connector::InputPort< Config_t > &JackConfig;
00059 
00060 
00062 
00063 struct Ports {
00064     JackIn unshiftedInterferogram; 
00065     JackOut shiftedInterferogram; 
00066     JackConfig config; 
00067     
00068     Ports( JackIn i, JackOut o, JackConfig c): 
00069         unshiftedInterferogram(i), shiftedInterferogram(o), config(c) 
00070     {}; 
00071     ~Ports() {}; 
00072 };
00073 
00079 class IfgShiftOperator: Operator::AbstractOperator
00080 {
00081 private:
00082     Ports &ports;
00083 public:
00084     IfgShiftOperator( Ports &p ): ports(p) { }; 
00085     virtual ~IfgShiftOperator() { }; 
00086     virtual Operator::Result operator() ( ); 
00087 }; // class Operator
00088 
00089 
00090 } // namespace
00091 #endif

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