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
00046 boost::shared_ptr<ParameterSet> pset_;
00047 boost::shared_ptr<std::vector<ParameterSet> > services_;
00048 };
00049 }
00050
00051 #endif