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 "PhysicsNtuple/Handle.h"
#include "PhysicsNtuple/RecoNu.h"
#include "PhysicsNtuple/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 354 of file AlgAdapt.cxx.

References UtilString::StringTok().

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

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

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 341 of file AlgAdapt.cxx.

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

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

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 Feb 15 11:07:51 2010 for loon by  doxygen 1.3.9.1