CMS 3D CMS Logo

DIPLumiProducer.h
Go to the documentation of this file.
1 #ifndef RecoLuminosity_LumiProducer_DIPLumiProducer_h
2 #define RecoLuminosity_LumiProducer_DIPLumiProducer_h
3 
9 #include <memory>
10 namespace edm{
11  class IOVSyncValue;
12 }
13 namespace coral{
14  class ISchema;
15 }
16 class DIPLuminosityRcd;
17 class DIPLumiSummary;
18 class DIPLumiDetail;
23  public:
25  typedef std::shared_ptr<DIPLumiSummary> ReturnSummaryType;
26  ReturnSummaryType produceSummary(const DIPLuminosityRcd&);
27  typedef std::shared_ptr<DIPLumiDetail> ReturnDetailType;
28  ReturnDetailType produceDetail(const DIPLuminosityRcd&);
29  ~DIPLumiProducer();
30 
31  protected:
32  virtual void setIntervalFor( const edm::eventsetup::EventSetupRecordKey&,
33  const edm::IOVSyncValue&,
35  private:
36  unsigned int maxavailableLSforRun(coral::ISchema& schema,const std::string&tablename,unsigned int runnumber);
37  private:
39  std::map< unsigned int,std::shared_ptr<DIPLumiSummary> > m_summarycache;
40  std::map< unsigned int,std::shared_ptr<DIPLumiDetail> > m_detailcache;
41  bool m_isNullRun; //if lumi data exist for this run
42  unsigned int m_summarycachedrun;
43  unsigned int m_detailcachedrun;
44  unsigned int m_cachesize;
45  std::shared_ptr<DIPLumiSummary> m_summaryresult;
46  std::shared_ptr<DIPLumiDetail> m_detailresult;
48  private:
49  void fillsummarycache(unsigned int runnumber,unsigned int startlsnum);
50  void filldetailcache(unsigned int runnumber,unsigned int startlsnum);
51 };
52 #endif
unsigned int m_detailcachedrun
std::string m_connectStr
std::shared_ptr< DIPLumiSummary > ReturnSummaryType
std::shared_ptr< DIPLumiSummary > m_summaryresult
Definition: Binary.h:9
std::shared_ptr< DIPLumiDetail > m_detailresult
std::map< unsigned int, std::shared_ptr< DIPLumiSummary > > m_summarycache
unsigned int m_summarycachedrun
std::shared_ptr< DIPLumiDetail > ReturnDetailType
unsigned int m_cachesize
const edm::IOVSyncValue * m_pcurrentTime
HLT enums.
std::map< unsigned int, std::shared_ptr< DIPLumiDetail > > m_detailcache