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 namespace edm {
34  class ActivityRegistry;
35  class ESInputTag;
36 
37  namespace eventsetup {
38  class EventSetupProvider;
40  } // namespace eventsetup
41 
45 
46  public:
47  ~EventSetupImpl();
48 
49  EventSetupImpl(EventSetupImpl const&) = delete;
50  EventSetupImpl& operator=(EventSetupImpl const&) = delete;
51 
52  // ---------- const member functions ---------------------
54 
55  std::optional<eventsetup::EventSetupRecordGeneric> find(const eventsetup::EventSetupRecordKey&,
56  unsigned int iTransitionID,
57  ESProxyIndex const* getTokenIndices) const;
58 
60  void fillAvailableRecordKeys(std::vector<eventsetup::EventSetupRecordKey>& oToFill) const;
61 
64  bool recordIsProvidedByAModule(eventsetup::EventSetupRecordKey const&) const;
65  // ---------- static member functions --------------------
66 
68 
69  protected:
70  void add(const eventsetup::EventSetupRecordImpl& iRecord);
71 
72  void clear();
73 
74  private:
76 
78 
80 
81  void setKeyIters(std::vector<eventsetup::EventSetupRecordKey>::const_iterator const& keysBegin,
82  std::vector<eventsetup::EventSetupRecordKey>::const_iterator const& keysEnd);
83 
84  // ---------- member data --------------------------------
85 
86  std::vector<eventsetup::EventSetupRecordKey>::const_iterator keysBegin_;
87  std::vector<eventsetup::EventSetupRecordKey>::const_iterator keysEnd_;
88  std::vector<eventsetup::EventSetupRecordImpl const*> recordImpls_;
90  };
91 
92 } // namespace edm
93 
94 #endif // FWCore_Framework_EventSetup_h
ActivityRegistry const * activityRegistry_
Definition: DataProxy.cc:118
std::vector< eventsetup::EventSetupRecordKey >::const_iterator keysBegin_
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:20
std::vector< eventsetup::EventSetupRecordKey >::const_iterator keysEnd_
void clear(CLHEP::HepGenMatrix &m)
Helper function: Reset all elements of a matrix to 0.
Definition: matutil.cc:167
ActivityRegistry const * activityRegistry() const
bool insert(Storage &iStorage, ItemType *iItem, const IdTag &iIdTag)
Definition: HCMethods.h:50
ActivityRegistry const * activityRegistry_
void add(std::map< std::string, TH1 * > &h, TH1 *hist)
HLT enums.
std::vector< eventsetup::EventSetupRecordImpl const * > recordImpls_