CMS 3D CMS Logo

EventSetupImpl.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_EventSetupImpl_h
2 #define FWCore_Framework_EventSetupImpl_h
3 // -*- C++ -*-
4 //
5 // Package: Framework
6 // Class: EventSetupImpl
7 //
16 //
17 // Author: Chris Jones
18 // Created: Thu Mar 24 13:50:04 EST 2005
19 //
20 
21 // system include files
22 #include <map>
23 #include <optional>
24 #include <vector>
25 
26 // user include files
30 
31 // forward declarations
32 
33 class testEventsetup;
34 
35 namespace edm {
36  class ESInputTag;
37  class ProcessBlockTransitionInfo;
38  class Schedule;
39  class ServiceToken;
40  class WaitingTaskHolder;
41 
42  namespace eventsetup {
43  class EventSetupProvider;
44  class EventSetupRecordImpl;
45  class EventSetupRecordProvider;
46  } // namespace eventsetup
47 
49  public:
51  EventSetupImpl(EventSetupImpl const&) = delete;
52  EventSetupImpl& operator=(EventSetupImpl const&) = delete;
53 
54  // ---------- const member functions ---------------------
57 
58  std::optional<eventsetup::EventSetupRecordGeneric> find(const eventsetup::EventSetupRecordKey&,
59  unsigned int iTransitionID,
60  ESResolverIndex const* getTokenIndices,
61  ESParentContext const& iParent) const;
62 
64  void fillAvailableRecordKeys(std::vector<eventsetup::EventSetupRecordKey>& oToFill) const;
65 
69 
70  bool validRecord(eventsetup::EventSetupRecordKey const& iKey) const;
71 
75  friend class ::testEventsetup;
76  friend class ::testEventsetupRecord;
78 
79  protected:
81 
82  private:
83  explicit EventSetupImpl();
84 
86 
87  void setKeyIters(std::vector<eventsetup::EventSetupRecordKey>::const_iterator const& keysBegin,
88  std::vector<eventsetup::EventSetupRecordKey>::const_iterator const& keysEnd);
89 
90  // ---------- member data --------------------------------
91 
92  std::vector<eventsetup::EventSetupRecordKey>::const_iterator keysBegin_;
93  std::vector<eventsetup::EventSetupRecordKey>::const_iterator keysEnd_;
94  std::vector<eventsetup::EventSetupRecordImpl const*> recordImpls_;
95  };
96 } // namespace edm
97 #endif
EventSetupImpl & operator=(EventSetupImpl const &)=delete
void setKeyIters(std::vector< eventsetup::EventSetupRecordKey >::const_iterator const &keysBegin, std::vector< eventsetup::EventSetupRecordKey >::const_iterator const &keysEnd)
bool validRecord(eventsetup::EventSetupRecordKey const &iKey) const
void fillAvailableRecordKeys(std::vector< eventsetup::EventSetupRecordKey > &oToFill) const
clears the oToFill vector and then fills it with the keys for all available records ...
std::vector< eventsetup::EventSetupRecordKey >::const_iterator keysBegin_
std::vector< eventsetup::EventSetupRecordKey >::const_iterator keysEnd_
bool recordIsProvidedByAModule(eventsetup::EventSetupRecordKey const &) const
void addRecordImpl(const eventsetup::EventSetupRecordImpl &iRecord)
HLT enums.
std::vector< eventsetup::EventSetupRecordImpl const * > recordImpls_
void insertRecordImpl(const eventsetup::EventSetupRecordKey &, const eventsetup::EventSetupRecordImpl *)
eventsetup::EventSetupRecordImpl const * findImpl(const eventsetup::EventSetupRecordKey &) const
std::optional< eventsetup::EventSetupRecordGeneric > find(const eventsetup::EventSetupRecordKey &, unsigned int iTransitionID, ESResolverIndex const *getTokenIndices, ESParentContext const &iParent) const