CMS 3D CMS Logo

PythonParameterSet.cc

Go to the documentation of this file.
00001 #include "FWCore/ParameterSet/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> v;
00029   if(tracked)
00030   {
00031     v = theParameterSet.getParameter<std::vector<edm::ParameterSet> >(name);
00032   }
00033   else
00034   {
00035     v = theParameterSet.getUntrackedParameter<std::vector<edm::ParameterSet> >(name);
00036   }
00037 
00038   // convert to PythonParameterSets
00039   boost::python::list l;
00040   for(std::vector<edm::ParameterSet>::const_iterator psetItr = v.begin(), psetItrEnd = v.end();
00041       psetItr != psetItrEnd; ++psetItr)
00042   {
00043     l.append(PythonParameterSet(*psetItr));
00044   }
00045 
00046   return l;
00047 }
00048 
00049 
00050 void  PythonParameterSet::addNewFileInPath(bool tracked, std::string const & name, std::string const & value)
00051 {
00052   addParameter(tracked, name, edm::FileInPath(value));
00053 }
00054 
00055 

Generated on Tue Jun 9 17:36:29 2009 for CMSSW by  doxygen 1.5.4