DoubleOp.hpp

Go to the documentation of this file.
00001 #pragma ident "$Id: DoubleOp.hpp 1908 2010-04-07 18:48:46Z yanweignss $"
00002 
00009 #ifndef GPSTK_DOUBLEOP_HPP
00010 #define GPSTK_DOUBLEOP_HPP
00011 
00012 //============================================================================
00013 //
00014 //  This file is part of GPSTk, the GPS Toolkit.
00015 //
00016 //  The GPSTk is free software; you can redistribute it and/or modify
00017 //  it under the terms of the GNU Lesser General Public License as published
00018 //  by the Free Software Foundation; either version 2.1 of the License, or
00019 //  any later version.
00020 //
00021 //  The GPSTk is distributed in the hope that it will be useful,
00022 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
00023 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00024 //  GNU Lesser General Public License for more details.
00025 //
00026 //  You should have received a copy of the GNU Lesser General Public
00027 //  License along with GPSTk; if not, write to the Free Software Foundation,
00028 //  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00029 //
00030 //  Wei Yan - Chinese Academy of Sciences . 2009, 2010
00031 //
00032 //============================================================================
00033 
00034 
00035 #include "DeltaOp.hpp"
00036 #include "NablaOp.hpp"
00037 
00038 
00039 namespace gpstk
00040 {
00043 
00135    class DoubleOp : public ProcessingClass
00136    {
00137    public:
00139       DoubleOp()
00140          : refSatMinElev(35.0)
00141       {}
00142 
00148       DoubleOp(const TypeID& difftype)
00149          : refSatMinElev(35.0)
00150       {  
00151          sdStations.setDiffType(difftype); sdSatellites.setDiffType(difftype);
00152          setIndex();
00153       };
00154          
00162       virtual DoubleOp& setDiffType(const TypeID& difftype)
00163       { 
00164          sdStations.setDiffType(difftype); sdSatellites.setDiffType(difftype);
00165          return (*this); }
00166       ;
00167 
00168 
00174       virtual DoubleOp& addDiffType(const TypeID& difftype)
00175       { 
00176          sdStations.addDiffType(difftype); sdSatellites.addDiffType(difftype);
00177          return (*this); 
00178       };
00179 
00180 
00188       virtual DoubleOp& setDiffTypeSet(const TypeIDSet& diffSet)
00189       { 
00190          sdStations.setDiffTypeSet(diffSet); sdSatellites.setDiffTypeSet(diffSet);
00191          return (*this); 
00192       };
00193 
00194 
00200       virtual DoubleOp& addDiffTypeSet(const TypeIDSet& diffSet)
00201       {
00202          sdStations.addDiffTypeSet(diffSet); sdSatellites.addDiffTypeSet(diffSet);
00203          return (*this); 
00204       }
00205 
00206 
00208       virtual TypeIDSet getDiffTypeSet(void) const
00209       { return sdStations.getDiffTypeSet(); };
00210 
00217       virtual DoubleOp& setRefData(const satTypeValueMap& gData)
00218       { sdStations.setRefData(gData); return (*this); };
00219 
00220 
00227       virtual DoubleOp& setRefData(const gnssSatTypeValue& gData)
00228       { return setRefData( gData.body ); };
00229 
00230 
00237       virtual DoubleOp& setRefData(const gnssRinex& gData)
00238       { return setRefData( gData.body ); };
00239 
00240 
00243       virtual satTypeValueMap getRefData(void) const
00244       { return sdStations.getRefData(); };
00245 
00246 
00253       virtual DoubleOp& setRefSourceID(const SourceID& refSource)
00254       { refSourceID = refSource; return (*this); };
00255 
00256 
00259       virtual SourceID getRefSourceID(void) const
00260       { return refSourceID; };
00261       
00262 
00267       virtual DoubleOp& setRefSat(const SatID& rSat)
00268       { refSatID = rSat; return (*this); };
00269 
00270 
00272       virtual SatID getRefSat(void) const
00273       { return refSatID; };
00274 
00280       virtual DoubleOp& setRefSatMinElevation(const double& minElevation)
00281       { refSatMinElev = minElevation; return (*this); };
00282 
00283 
00286       virtual double getRefSatMinElevation() const
00287       { return refSatMinElev; };
00288 
00289 
00296       virtual satTypeValueMap& Process(satTypeValueMap& gData)
00297          throw(ProcessingException);
00298 
00299 
00306       virtual gnssSatTypeValue& Process(gnssSatTypeValue& gData)
00307          throw(ProcessingException)
00308       { Process(gData.body); return gData; };
00309 
00310 
00317       virtual gnssRinex& Process(gnssRinex& gData)
00318          throw(ProcessingException)
00319       { Process(gData.body); return gData; };
00320 
00321 
00323       virtual int getIndex(void) const;
00324 
00325 
00327       virtual std::string getClassName(void) const;
00328 
00330       ~DoubleOp(){}
00331       
00332    protected:
00333          
00335       DeltaOp sdStations;
00336          
00338       NablaOp sdSatellites;
00339 
00341       SourceID refSourceID;
00342 
00344       SatID refSatID;
00345 
00348       double refSatMinElev;   
00349 
00351       static int classIndex;
00352 
00354       int index;
00355 
00357       void setIndex(void)
00358       { index = classIndex++; };
00359 
00360    }; // End of class 'DoubleOp'
00361 
00362       // //@}
00363 
00364 }  // End of namespace gpstk
00365 
00366 
00367 #endif //
00368 

Generated on Tue May 22 03:30:57 2012 for GPS ToolKit Software Library by  doxygen 1.3.9.1