CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/FWCore/PythonParameterSet/src/PythonParameterSet.cc

Go to the documentation of this file.
00001 #include "FWCore/PythonParameterSet/interface/PythonParameterSet.h"
00002 #include "FWCore/ParameterSet/interface/FileInPath.h"
00003 
00004 PythonParameterSet::PythonParameterSet()
00005 :  theParameterSet()
00006 {
00007 }
00008 
00009 
00010 void PythonParameterSet::addVPSet(bool tracked, std::string const& name,
00011               boost::python::list  value)
00012 {
00013   std::vector<PythonParameterSet> v
00014     = edm::toVector<PythonParameterSet>(value);
00015   std::vector<edm::ParameterSet> v2;
00016   v2.reserve(v.size());
00017   for(std::vector<PythonParameterSet>::iterator ppsetItr = v.begin(), ppsetItrEnd = v.end();
00018       ppsetItr != ppsetItrEnd; ++ppsetItr)
00019   {
00020     v2.push_back(ppsetItr->theParameterSet);
00021   }
00022   addParameter(tracked, name, v2);
00023 }
00024 
00025 
00026 boost::python::list PythonParameterSet::getVPSet(bool tracked, std::string const& name)
00027 {
00028   std::vector<edm::ParameterSet> const& v =
00029     (tracked ? theParameterSet.getParameterSetVector(name) : theParameterSet.getUntrackedParameterSetVector(name));
00030 
00031   // convert to PythonParameterSets
00032   boost::python::list l;
00033   for(std::vector<edm::ParameterSet>::const_iterator psetItr = v.begin(), psetItrEnd = v.end();
00034       psetItr != psetItrEnd; ++psetItr)
00035   {
00036     l.append(PythonParameterSet(*psetItr));
00037   }
00038 
00039   return l;
00040 }
00041 
00042 
00043 void  PythonParameterSet::addNewFileInPath(bool tracked, std::string const & name, std::string const & value)
00044 {
00045   addParameter(tracked, name, edm::FileInPath(value));
00046 }