Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:13:00

0001 #ifndef FWCore_PyBind11ParameterSet_MakePyBind11ParameterSets_h
0002 #define FWCore_PyBind11ParameterSet_MakePyBind11ParameterSets_h
0003 
0004 //----------------------------------------------------------------------
0005 // Declare functions used to create ParameterSets.
0006 //----------------------------------------------------------------------
0007 
0008 #include <memory>
0009 
0010 #include <string>
0011 #include <vector>
0012 
0013 namespace edm {
0014   class ParameterSet;
0015   namespace cmspybind11 {
0016     // input can either be a python file name or a python config string
0017     std::unique_ptr<ParameterSet> readConfig(std::string const& config);
0018 
0019     /// same, but with arguments
0020     std::unique_ptr<ParameterSet> readConfig(std::string const& config, const std::vector<std::string>& args);
0021 
0022     /// essentially the same as the previous method
0023     void makeParameterSets(std::string const& configtext, std::unique_ptr<ParameterSet>& main);
0024 
0025     /**finds all the PSets used in the top level module referred as a file or as a string containing
0026        python commands. These PSets are bundled into a top level PSet from which they can be retrieved
0027     */
0028     std::unique_ptr<ParameterSet> readPSetsFrom(std::string const& fileOrString);
0029   }  // namespace cmspybind11
0030 }  // namespace edm
0031 #endif