CMS 3D CMS Logo

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

Go to the documentation of this file.
00001 #ifndef FWCore_ParameterSet_ProcessDesc_h
00002 #define FWCore_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(boost::shared_ptr<ParameterSet> pset);
00016 
00018     explicit ProcessDesc(std::string const& config);
00019 
00020     ~ProcessDesc();
00021 
00023     boost::shared_ptr<ParameterSet> getProcessPSet() const;
00024 
00026     boost::shared_ptr<std::vector<ParameterSet> > getServicesPSets() const;
00027 
00028     void addService(ParameterSet& pset);
00030     void addService(std::string const& service);
00032     void addDefaultService(std::string const& service);
00034     void addForcedService(std::string const& service);
00036     void addServices(std::vector<std::string> const& defaultServices,
00037                      std::vector<std::string> const& forcedServices = std::vector<std::string>());
00038 
00039     std::string dump() const;
00040   private:
00041     boost::shared_ptr<ParameterSet> pset_;
00042     boost::shared_ptr<std::vector<ParameterSet> > services_;
00043   };
00044 }
00045 
00046 #endif