Back to home page

Project CMSSW displayed by LXR

 
 

    


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

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