DeltaOp.hpp

Go to the documentation of this file.
00001 #pragma ident "$Id: DeltaOp.hpp 2614 2011-05-24 06:47:03Z yanweignss $"
00002 
00009 #ifndef GPSTK_DELTAOP_HPP
00010 #define GPSTK_DELTAOP_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 //  Dagoberto Salazar - gAGE ( http://www.gage.es ). 2007, 2008, 2009
00031 //
00032 //============================================================================
00033 
00034 
00035 
00036 #include "TypeID.hpp"
00037 #include "ProcessingClass.hpp"
00038 
00039 
00040 namespace gpstk
00041 {
00042 
00045 
00127    class DeltaOp : public ProcessingClass
00128    {
00129    public:
00130 
00131 
00135       DeltaOp()
00136          : deleteMissingSats(true), updateCSFlag(true)
00137       { diffTypes.insert(TypeID::prefitC); setIndex(); };
00138 
00139 
00154       DeltaOp( const satTypeValueMap& gData,
00155                const bool& delSats = true )
00156          : refData(gData), deleteMissingSats(delSats), updateCSFlag(true)
00157       { diffTypes.insert(TypeID::prefitC); setIndex(); };
00158 
00159 
00174       DeltaOp( const satTypeValueMap& gData,
00175                const TypeID& difftype,
00176                const bool& delSats = true )
00177          : refData(gData), deleteMissingSats(delSats), updateCSFlag(true)
00178       { diffTypes.insert(difftype); setIndex(); };
00179 
00180 
00195       DeltaOp( const satTypeValueMap& gData,
00196                const TypeIDSet& diffSet,
00197                const bool& delSats = true )
00198          : refData(gData), deleteMissingSats(delSats), updateCSFlag(true),
00199            diffTypes(diffSet)
00200       { setIndex(); };
00201 
00202 
00217       DeltaOp( const gnssSatTypeValue& gData,
00218                const bool& delSats = true )
00219          : refData(gData.body), deleteMissingSats(delSats), updateCSFlag(true)
00220       { diffTypes.insert(TypeID::prefitC); setIndex(); };
00221 
00222 
00237       DeltaOp( const gnssSatTypeValue& gData,
00238                const TypeID& difftype,
00239                const bool& delSats = true )
00240          : refData(gData.body), deleteMissingSats(delSats), updateCSFlag(true)
00241       { diffTypes.insert(difftype); setIndex(); };
00242 
00243 
00258       DeltaOp( const gnssSatTypeValue& gData,
00259                const TypeIDSet& diffSet,
00260                const bool& delSats = true )
00261          : refData(gData.body), deleteMissingSats(delSats), updateCSFlag(true),
00262            diffTypes(diffSet)
00263       { setIndex(); };
00264 
00265 
00279       DeltaOp( const gnssRinex& gData,
00280                const bool& delSats = true )
00281          : refData(gData.body), deleteMissingSats(delSats), updateCSFlag(true)
00282       { diffTypes.insert(TypeID::prefitC); setIndex(); };
00283 
00284 
00298       DeltaOp( const gnssRinex& gData,
00299                const TypeID& difftype,
00300                const bool& delSats = true )
00301          : refData(gData.body), deleteMissingSats(delSats), updateCSFlag(true)
00302       { diffTypes.insert(difftype); setIndex(); };
00303 
00304 
00318       DeltaOp( const gnssRinex& gData,
00319                const TypeIDSet& diffSet,
00320                const bool& delSats = true )
00321          : refData(gData.body), deleteMissingSats(delSats), updateCSFlag(true),
00322            diffTypes(diffSet)
00323       { setIndex(); };
00324 
00325 
00332       virtual DeltaOp& setRefData(const satTypeValueMap& gData)
00333       { refData = gData; return (*this); };
00334 
00335 
00342       virtual DeltaOp& setRefData(const gnssSatTypeValue& gData)
00343       { return setRefData( gData.body ); };
00344 
00345 
00352       virtual DeltaOp& setRefData(const gnssRinex& gData)
00353       { return setRefData( gData.body ); };
00354 
00355 
00358       virtual satTypeValueMap getRefData(void) const
00359       { return refData; };
00360 
00361 
00369       virtual DeltaOp& setDeleteMissingSats(const bool& deleteSats)
00370       { deleteMissingSats = deleteSats; return (*this); };
00371 
00372 
00375       virtual bool getDeleteMissingSats(void) const
00376       { return deleteMissingSats; };
00377 
00378 
00386       virtual DeltaOp& setDiffType(const TypeID& difftype)
00387       { diffTypes.clear(); diffTypes.insert(difftype); return (*this); };
00388 
00389 
00395       virtual DeltaOp& addDiffType(const TypeID& difftype)
00396       { diffTypes.insert(difftype); return (*this); };
00397 
00398 
00406       virtual DeltaOp& setDiffTypeSet(const TypeIDSet& diffSet)
00407       { diffTypes.clear(); diffTypes = diffSet; return (*this); };
00408 
00409 
00415       virtual DeltaOp& addDiffTypeSet(const TypeIDSet& diffSet);
00416 
00417 
00419       virtual TypeIDSet getDiffTypeSet(void) const
00420       { return diffTypes; };
00421 
00422 
00429       virtual satTypeValueMap& Process(satTypeValueMap& gData)
00430          throw(ProcessingException);
00431 
00432 
00439       virtual gnssSatTypeValue& Process(gnssSatTypeValue& gData)
00440          throw(ProcessingException)
00441       { Process(gData.body); return gData; };
00442 
00443 
00450       virtual gnssRinex& Process(gnssRinex& gData)
00451          throw(ProcessingException)
00452       { Process(gData.body); return gData; };
00453 
00454 
00456       virtual int getIndex(void) const;
00457 
00458 
00460       virtual std::string getClassName(void) const;
00461 
00462 
00464       virtual ~DeltaOp() {};
00465 
00466 
00467    private:
00468 
00469 
00471       satTypeValueMap refData;
00472 
00473 
00476       bool updateCSFlag;
00477 
00478 
00481       bool deleteMissingSats;
00482 
00483 
00485       TypeIDSet diffTypes;
00486 
00487 
00489       static int classIndex;
00490 
00492       int index;
00493 
00495       void setIndex(void)
00496       { index = classIndex++; };
00497 
00498 
00499    }; // End of class 'DeltaOp'
00500 
00502 
00503 }  // End of namespace gpstk
00504 #endif   // GPSTK_DELTAOP_HPP

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