Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-02-14 03:16:38

0001 #ifndef FWCore_ServiceRegistry_ESModuleConsumesInfo_h
0002 #define FWCore_ServiceRegistry_ESModuleConsumesInfo_h
0003 
0004 /**\class edm::ESModuleConsumesInfo
0005 
0006    Description: Contains information about a product
0007    a module declares it will consume from the EventSetup.
0008 
0009    Normally, there will be one object per consumes call.
0010    But in the case of a "may consumes", there will be multiple
0011    objects with each object corresponding to one of the products
0012    that might be consumed.
0013 
0014    Usage: These are typically available from the PathsAndConsumesOfModules
0015    object passed as an argument to a Service callback.
0016 */
0017 //
0018 // Original Author: W. David Dagenhart
0019 //         Created: 11/14/2024
0020 
0021 #include <string_view>
0022 
0023 namespace edm {
0024   struct ESModuleConsumesInfo {
0025     ESModuleConsumesInfo();
0026 
0027     std::string_view moduleBaseType() const;
0028 
0029     // These are created by ESProducer.
0030 
0031     // An empty moduleLabel_ indicates there is not an
0032     // ESProducer, ESSource, or Looper configured to deliver
0033     // the product with the requested EventSetupRecordKey and
0034     // DataKey. Even if such a module exists, if the requested
0035     // module label does not match an exception will be thrown
0036     // if there is an attempt to actually get the data (or
0037     // when the ESHandle is dereferenced if one gets that).
0038     std::string_view eventSetupRecordType_;
0039     std::string_view productType_;
0040     std::string_view productLabel_;
0041     std::string_view requestedModuleLabel_;
0042     std::string_view moduleType_;
0043     std::string_view moduleLabel_;
0044     unsigned int produceMethodIDOfConsumer_;
0045     unsigned int produceMethodIDOfProducer_;
0046     bool isSource_;
0047     bool isLooper_;
0048     bool moduleLabelMismatch_;
0049     bool mayConsumes_;
0050     bool mayConsumesFirstEntry_;
0051     bool mayConsumesNoProducts_;
0052   };
0053 }  // namespace edm
0054 #endif