CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/FWCore/ParameterSet/interface/ProcessDesc.h

Go to the documentation of this file.
00001 #ifndef ParameterSet_ProcessDesc_h
00002 #define ParameterSet_ProcessDesc_h
00003 
00004 #include "boost/shared_ptr.hpp"
00005 #include <string>
00006 #include <vector>
00007 
00008 namespace edm {
00009   
00010   class ParameterSet;
00011 
00012   class ProcessDesc {
00013 
00014   public:
00015     explicit ProcessDesc(ParameterSet const& pset);
00016 
00018     explicit ProcessDesc(std::string const& config);
00019 
00020     ~ProcessDesc();
00021 
00023     boost::shared_ptr<ParameterSet> getProcessPSet() const;
00024 
00026 
00028     std::string  getDependencies(std::string const& modulename);
00029 
00031     boost::shared_ptr<std::vector<ParameterSet> > getServicesPSets() const;
00032 
00033     void addService(ParameterSet& pset);
00035     void addService(std::string const& service);
00037     void addDefaultService(std::string const& service);
00039     void addServices(std::vector<std::string> const& defaultServices,
00040                      std::vector<std::string> const& forcedServices);
00041 
00042     std::string dump() const;
00043   private:
00044 
00045     //Path and sequence information
00046     boost::shared_ptr<ParameterSet> pset_;
00047     boost::shared_ptr<std::vector<ParameterSet> > services_;
00048   };
00049 }
00050 
00051 #endif