00001 #pragma ident "$Id: ComputeCombination.hpp 1308 2008-07-22 20:01:04Z architest $"
00002
00009 #ifndef COMPUTECOMBINATION_HPP
00010 #define COMPUTECOMBINATION_HPP
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #include "ProcessingClass.hpp"
00037
00038
00039 namespace gpstk
00040 {
00041
00044
00045
00054 class ComputeCombination : public ProcessingClass
00055 {
00056 public:
00057
00059 ComputeCombination() {};
00060
00061
00067 virtual satTypeValueMap& Process(satTypeValueMap& gData)
00068 throw(ProcessingException);
00069
00070
00076 virtual gnssSatTypeValue& Process(gnssSatTypeValue& gData)
00077 throw(ProcessingException)
00078 { Process(gData.body); return gData; };
00079
00080
00086 virtual gnssRinex& Process(gnssRinex& gData)
00087 throw(ProcessingException)
00088 { Process(gData.body); return gData; };
00089
00090
00092 virtual int getIndex(void) const;
00093
00094
00096 virtual std::string getClassName(void) const;
00097
00098
00100 virtual ~ComputeCombination() {};
00101
00102
00103 protected:
00104
00108 virtual double getCombination( const double& obs1,
00109 const double& obs2 ) = 0;
00110
00112 TypeID type1;
00113
00115 TypeID type2;
00116
00118 TypeID resultType;
00119
00120
00121 private:
00122
00123
00125 static int classIndex;
00126
00128 int index;
00129
00131 void setIndex(void)
00132 { index = classIndex++; };
00133
00134
00135 };
00136
00137
00139
00140 }
00141
00142 #endif // COMPUTECOMBINATION_HPP