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 
38  namespace eventsetup {
39  class EventSetupProvider;
40  class EventSetupRecordImpl;
41  class EventSetupRecordProvider;
42  } // namespace eventsetup
43 
45  public:
46  ~EventSetupImpl();
47 
48  EventSetupImpl(EventSetupImpl const&) = delete;
49  EventSetupImpl& operator=(EventSetupImpl const&) = delete;
50 
51  // ---------- const member functions ---------------------
53 
54  std::optional<eventsetup::EventSetupRecordGeneric> find(const eventsetup::EventSetupRecordKey&,
55  unsigned int iTransitionID,
56  ESProxyIndex const* getTokenIndices) const;
57 
59  void fillAvailableRecordKeys(std::vector<eventsetup::EventSetupRecordKey>& oToFill) const;
60 
63  bool recordIsProvidedByAModule(eventsetup::EventSetupRecordKey const&) const;
64 
65  bool validRecord(eventsetup::EventSetupRecordKey const& iKey) const;
66 
70  friend class ::testEventsetup;
71 
72  protected:
73  void addRecordImpl(const eventsetup::EventSetupRecordImpl& iRecord);
74 
75  private:
77 
78  void insertRecordImpl(const eventsetup::EventSetupRecordKey&, const eventsetup::EventSetupRecordImpl*);
79 
80  void setKeyIters(std::vector<eventsetup::EventSetupRecordKey>::const_iterator const& keysBegin,
81  std::vector<eventsetup::EventSetupRecordKey>::const_iterator const& keysEnd);
82 
83  // ---------- member data --------------------------------
84 
85  std::vector<eventsetup::EventSetupRecordKey>::const_iterator keysBegin_;
86  std::vector<eventsetup::EventSetupRecordKey>::const_iterator keysEnd_;
87  std::vector<eventsetup::EventSetupRecordImpl const*> recordImpls_;
88  };
89 } // namespace edm
90 #endif
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:19
std::vector< eventsetup::EventSetupRecordKey >::const_iterator keysEnd_
HLT enums.
std::vector< eventsetup::EventSetupRecordImpl const * > recordImpls_