CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DependentRecordIntervalFinder.h
Go to the documentation of this file.
1 #ifndef Framework_DependentRecordIntervalFinder_h
2 #define Framework_DependentRecordIntervalFinder_h
3 // -*- C++ -*-
4 //
5 // Package: Framework
6 // Class : DependentRecordIntervalFinder
7 //
18 //
19 // Author: Chris Jones
20 // Created: Sat Apr 30 19:36:59 EDT 2005
21 //
22 
23 // system include files
24 #include <vector>
25 #include "boost/shared_ptr.hpp"
26 
27 // user include files
29 
30 // forward declarations
31 namespace edm {
32  namespace eventsetup {
34 
36 {
37 
38  public:
41 
42  // ---------- const member functions ---------------------
43  bool haveProviders() const {
44  return !providers_.empty();
45  }
46 
47  // ---------- static member functions --------------------
48 
49  // ---------- member functions ---------------------------
50  void addProviderWeAreDependentOn(boost::shared_ptr<EventSetupRecordProvider>);
51 
52  void setAlternateFinder(boost::shared_ptr<EventSetupRecordIntervalFinder>);
53  protected:
54  virtual void setIntervalFor(const EventSetupRecordKey&,
55  const IOVSyncValue& ,
57 
58  private:
60 
62 
63  // ---------- member data --------------------------------
64  typedef std::vector< boost::shared_ptr<EventSetupRecordProvider> > Providers;
66 
67  boost::shared_ptr<EventSetupRecordIntervalFinder> alternate_;
68  std::vector<ValidityInterval> previousIOVs_;
69 };
70 
71  }
72 }
73 #endif
boost::shared_ptr< EventSetupRecordIntervalFinder > alternate_
void addProviderWeAreDependentOn(boost::shared_ptr< EventSetupRecordProvider >)
virtual void setIntervalFor(const EventSetupRecordKey &, const IOVSyncValue &, ValidityInterval &)
const DependentRecordIntervalFinder & operator=(const DependentRecordIntervalFinder &)
void setAlternateFinder(boost::shared_ptr< EventSetupRecordIntervalFinder >)
std::vector< boost::shared_ptr< EventSetupRecordProvider > > Providers