00001 #pragma ident "$Id: ComputePC.hpp 1308 2008-07-22 20:01:04Z architest $"
00002
00008 #ifndef COMPUTEPC_HPP
00009 #define COMPUTEPC_HPP
00010
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 #include "ComputeCombination.hpp"
00036
00037
00038 namespace gpstk
00039 {
00040
00043
00044
00086 class ComputePC : public ComputeCombination
00087 {
00088 public:
00089
00091 ComputePC();
00092
00093
00099 virtual satTypeValueMap& Process(satTypeValueMap& gData)
00100 throw(ProcessingException)
00101 { ComputeCombination::Process(gData); return gData; };
00102
00103
00106 virtual ComputePC& useC1(void)
00107 { type1 = TypeID::C1; return (*this); };
00108
00109
00111 virtual int getIndex(void) const;
00112
00113
00115 virtual std::string getClassName(void) const;
00116
00117
00119 virtual ~ComputePC() {};
00120
00121
00122 protected:
00123
00124
00126 virtual double getCombination( const double& obs1,
00127 const double& obs2 )
00128 { return ( (GAMMA_GPS*obs1 - obs2)/(DEN) ); };
00129
00130
00131 private:
00132
00133
00134 const double DEN;
00135
00136
00138 static int classIndex;
00139
00141 int index;
00142
00144 void setIndex(void)
00145 { index = classIndex++; };
00146
00147
00148 };
00149
00151
00152 }
00153 #endif // COMPUTEPC_HPP