Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef FWCore_Utilities_path_configuration_h
0002 #define FWCore_Utilities_path_configuration_h
0003 // -*- C++ -*-
0004 //
0005 // Package  :     FWCore/Utilities
0006 // namespace:     path_configuration
0007 //
0008 /**\class path_configuration path_configuration.h "FWCore/Utilities/interface/path_configuration.h"
0009 
0010  Description: Functions used to understand Path configurations
0011 
0012  Usage:
0013     <usage>
0014 
0015 */
0016 //
0017 // Original Author:  Christopher Jones
0018 //         Created:  Wed, 30 Mar 2022 14:59:29 GMT
0019 //
0020 
0021 // system include files
0022 #include <vector>
0023 #include <string>
0024 #include <unordered_set>
0025 
0026 // user include files
0027 
0028 // forward declarations
0029 
0030 namespace edm::path_configuration {
0031   ///The label is an indicator of a path scheduling construct and not an actual module.
0032   using SchedulingConstructLabelSet = std::unordered_set<std::string, std::hash<std::string>, std::equal_to<>>;
0033   SchedulingConstructLabelSet const& schedulingConstructLabels();
0034 
0035   //Takes the Parameter associated to a given Path and converts it to the list of modules
0036   // in the same order as the Path's position bits
0037   std::vector<std::string> configurationToModuleBitPosition(std::vector<std::string>);
0038 
0039   //removes any scheduling tokens from the module's label
0040   std::string removeSchedulingTokensFromModuleLabel(std::string iLabel);
0041 }  // namespace edm::path_configuration
0042 
0043 #endif