Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

AlgAdapt.h File Reference

#include <iostream>
#include <sstream>
#include <string>
#include <vector>
#include "Util/UtilString.h"
#include "Handle.h"
#include "RecoNu.h"
#include "TrueNu.h"

Go to the source code of this file.

Namespaces

namespace  Anp

Classes

class  Anp::AlgAdapt

Functions

const std::string ConvertVector2String (const std::vector< double > &dvec)
const std::vector< double > ConvertString2Vector (const std::string &dstr)
template<class T>
const std::string ConvertVectorToString (const std::vector< T > &dvec)
template<class T>
const std::vector< T > ConvertStringToVector (const std::string &dstr)


Function Documentation

const vector< double > Anp::ConvertString2Vector const std::string &  dstr  ) 
 

Definition at line 357 of file AlgAdapt.cxx.

References UtilString::StringTok().

Referenced by Anp::AlgAdapt::Read().

00358 {
00359    vector<double> dvec;
00360 
00361    //
00362    // Parse into individual strings
00363    //
00364    vector<string> svec;
00365    UtilString::StringTok(svec, dstr, ", ");
00366 
00367    if(svec.empty())
00368    {
00369       cerr << " Anp::ConvertString2Vector - input string has no data:\n   " << dstr << endl;
00370       return dvec;
00371    }
00372 
00373    for(unsigned int i = 0; i < svec.size(); ++i)
00374    {
00375       stringstream temp;
00376       temp << svec[i];
00377 
00378       double value = -1.0e9;
00379       temp >> value;
00380 
00381       if(!temp.fail())
00382       {
00383          dvec.push_back(value);
00384       }
00385       else
00386       {
00387          cerr << " Anp::ConvertString2Vector - stringstream >> failed for " << svec[i] << endl;
00388       }
00389    }
00390 
00391    return dvec;
00392 }

template<class T>
const std::vector<T> ConvertStringToVector const std::string &  dstr  ) 
 

Definition at line 130 of file AlgAdapt.h.

References UtilString::StringTok().

00131   {
00132      std::vector<T> dvec;
00133 
00134      //
00135      // Parse into individual strings
00136      //
00137      std::vector<std::string> svec;
00138      UtilString::StringTok(svec, dstr, ", ");
00139      
00140      if(svec.empty())
00141      {
00142         return dvec;
00143      }
00144 
00145      for(unsigned int i = 0; i < svec.size(); ++i)
00146      {
00147         std::stringstream temp;
00148         temp << svec[i];
00149         
00150         T value;
00151         temp >> value;
00152         
00153         if(!temp.fail())
00154         {
00155            dvec.push_back(value);
00156         }
00157         else
00158         {
00159            std::cerr << "Anp::ConvertString2Vector - stringstream >> failed for " << svec[i] << std::endl;
00160         }
00161      }
00162      
00163      return dvec;
00164   }

const string Anp::ConvertVector2String const std::vector< double > &  dvec  ) 
 

Definition at line 344 of file AlgAdapt.cxx.

Referenced by Anp::AlgAdapt::Save().

00345 {
00346    stringstream dstr;
00347    for(vector<double>::const_iterator dit = dvec.begin(); dit != dvec.end(); ++dit)
00348    {
00349       dstr << setprecision(9) << fixed << *dit;
00350       if(dit + 1 != dvec.end()) dstr << ", ";
00351    }
00352    
00353    return dstr.str();
00354 }

template<class T>
const std::string ConvertVectorToString const std::vector< T > &  dvec  ) 
 

Definition at line 117 of file AlgAdapt.h.

00118    {
00119       std::stringstream dstr;
00120       for(typename std::vector<T>::const_iterator dit = dvec.begin(); dit != dvec.end(); ++dit)
00121       {
00122          dstr << *dit;
00123          if(dit + 1 != dvec.end()) dstr << ", ";
00124       }
00125       
00126       return dstr.str();
00127    }


Generated on Mon Jun 16 14:58:58 2008 for loon by  doxygen 1.3.9.1