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