Esempio n. 1
0
      /* Method to set an a priori position of receiver using Bancroft's
       * method. Intended to be used with GNSS data structures.
       *
       * @param time      DayTime object for this epoch
       * @param data      satTypeValueMap data structure holding
       *                  the data.
       *
       * @return
       *  0 if OK
       *  -1 if problems arose
       */
   int ModeledPR::Prepare( const DayTime& time,
                           const satTypeValueMap& data )
   {

      int i;
      std::vector<SatID> vSat;
      std::vector<double> vPR;
      Vector<SatID> Satellite( data.getVectorOfSatID() );
      Vector<double> Pseudorange(
                           data.getVectorOfTypeID( getDefaultObservable() ) );

         // Convert from gpstk::Vector to std::vector
      for (i = 0; i < (int)Satellite.size(); i++)
      {
         vSat.push_back(Satellite[i]);
      }

      for (i = 0; i < (int)Pseudorange.size(); i++)
      {
         vPR.push_back(Pseudorange[i]);
      }

      return Prepare(time, vSat, vPR, (*(getDefaultEphemeris())) );

   }  // End of method 'ModeledPR::Prepare()'
Esempio n. 2
0
	void FragmentTree::processFragment(const CleavageCollection& cc, MassLossWindow mlw)
	{	
		FragmentPtr fg(new Fragment(glycan_seq));
		fg->updateCleavage(cc);

		//std::string final_type = fg->getCleavageType();
		
		// Modify the MassLossWindow based on the possibility of modification sites.
		std::set<std::string> mod_types = glycan_seq->getModificationTypes();

		for(std::set<std::string>::iterator iter = mod_types.begin(); iter != mod_types.end(); iter++)
		{
			int num = (int)fg->getModificationSiteNum(*iter, 1);
			Composition temp_compo;
			if(*iter == "SO3") {
				temp_compo.add("SO3");
				int upper_num = glycan_seq->getModificationConstraint("SO3");
				if(num > upper_num)
					num = upper_num;
			} else if(*iter == "Ac") {
				temp_compo.add("CH2CO");
				int upper_num = glycan_seq->getModificationConstraint("Ac");
				if(num > upper_num)
					num = upper_num;
			}
			if(num != 0) mlw.push_back(MassLoss(temp_compo, 0, -1 * num));

		}
		
		this->processFragment(fg, mlw, 0, Satellite());
	}