00001 #pragma ident "$Id: ComputeMelbourneWubbena.hpp 1308 2008-07-22 20:01:04Z architest $"
00002
00009 #ifndef COMPUTEMELBOURNEWUBBENA_HPP
00010 #define COMPUTEMELBOURNEWUBBENA_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 "ComputeCombination.hpp"
00037
00038
00039 namespace gpstk
00040 {
00041
00044
00045
00084 class ComputeMelbourneWubbena : public ComputeCombination
00085 {
00086 public:
00087
00089 ComputeMelbourneWubbena();
00090
00091
00097 virtual satTypeValueMap& Process(satTypeValueMap& gData)
00098 throw(ProcessingException);
00099
00100
00103 virtual ComputeMelbourneWubbena& useC1(void)
00104 { type1 = TypeID::C1; return (*this); };
00105
00106
00108 virtual int getIndex(void) const;
00109
00110
00112 virtual std::string getClassName(void) const;
00113
00114
00116 virtual ~ComputeMelbourneWubbena() {};
00117
00118
00119 protected:
00120
00121
00123 virtual double getCombination( const double& p1,
00124 const double& p2,
00125 const double& l1,
00126 const double& l2 );
00127
00128
00130 virtual double getCombination( const double& obs1,
00131 const double& obs2 )
00132 { return 0.0; };
00133
00134
00135 private:
00136
00137
00139 TypeID type3;
00140
00141
00143 TypeID type4;
00144
00145
00146 const double DEN1;
00147 const double DEN2;
00148
00149
00151 static int classIndex;
00152
00153
00155 int index;
00156
00158 void setIndex(void)
00159 { index = classIndex++; };
00160
00161
00162 };
00163
00165
00166 }
00167 #endif // COMPUTEMELBOURNEWUBBENA_HPP