Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:19:54

0001 #ifndef RecoLuminosity_LumiProducer_DIPLumiDetail_h
0002 #define RecoLuminosity_LumiProducer_DIPLumiDetail_h
0003 #include <iosfwd>
0004 #include <string>
0005 #include "RecoLuminosity/LumiProducer/interface/DIPLuminosityRcd.h"
0006 #include "FWCore/Framework/interface/data_default_record_trait.h"
0007 class DIPLumiDetail {
0008 public:
0009   /// default constructor
0010   DIPLumiDetail();
0011   typedef std::pair<std::vector<float>::const_iterator, std::vector<float>::const_iterator> ValueRange;
0012   /// set default constructor
0013   virtual ~DIPLumiDetail() {}
0014   bool isNull() const;
0015   float lumiValue(unsigned int bx) const;
0016   ValueRange lumiValues() const;
0017   void filldata(std::vector<float>& lumivalues);
0018   void fillbxdata(unsigned int bxidx, float bxlumi);
0019   unsigned int fromRun() const;
0020   unsigned int fromLS() const;
0021   void setOrigin(unsigned int runnumber, unsigned int ls);
0022 
0023 private:
0024   unsigned int m_runnum;
0025   unsigned int m_ls;
0026   std::vector<float> m_lumiValues;
0027 };
0028 
0029 std::ostream& operator<<(std::ostream& s, const DIPLumiDetail&);
0030 
0031 EVENTSETUP_DATA_DEFAULT_RECORD(DIPLumiDetail, DIPLuminosityRcd)
0032 
0033 #endif  // RecoLuminosity_LuminosityProducer_DIPLumiDetail_h