File indexing completed on 2024-04-06 12:04:40
0001 #ifndef DataFormats_Luminosity_LumiInfoRunHeader_h
0002 #define DataFormats_Luminosity_LumiInfoRunHeader_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #include <string>
0018 #include <bitset>
0019 #include "DataFormats/Luminosity/interface/LumiConstants.h"
0020
0021 class LumiInfoRunHeader {
0022 public:
0023
0024
0025
0026 LumiInfoRunHeader() {}
0027
0028
0029 LumiInfoRunHeader(std::string& lumiProvider,
0030 std::string& fillingSchemeName,
0031 std::bitset<LumiConstants::numBX>& fillingScheme);
0032
0033
0034 ~LumiInfoRunHeader() {}
0035
0036
0037 bool isProductEqual(LumiInfoRunHeader const& o) const;
0038
0039
0040
0041
0042 void setLumiProvider(const std::string& lumiProvider) { lumiProvider_ = lumiProvider; }
0043
0044
0045 void setFillingSchemeName(const std::string& fillingSchemeName) { fillingSchemeName_ = fillingSchemeName; }
0046
0047
0048 void setFillingScheme(const std::bitset<LumiConstants::numBX>& fillingScheme);
0049
0050
0051
0052
0053 std::string getLumiProvider() const { return lumiProvider_; }
0054
0055
0056 std::string getFillingSchemeName() const { return fillingSchemeName_; }
0057
0058
0059 bool getBunchFilled(unsigned int bunch) const { return fillingScheme_[bunch]; }
0060
0061
0062 const std::bitset<LumiConstants::numBX>& getFillingScheme() const { return fillingScheme_; }
0063
0064
0065 int getBunchSpacing() const { return bunchSpacing_; }
0066
0067
0068
0069 private:
0070 std::string lumiProvider_;
0071 std::string fillingSchemeName_;
0072 std::bitset<LumiConstants::numBX> fillingScheme_;
0073 int bunchSpacing_;
0074
0075 void setBunchSpacing();
0076 };
0077
0078 #endif