File indexing completed on 2024-04-06 12:15:14
0001 #ifndef MTDCommonData_MTDBaseNumber_h
0002 #define MTDCommonData_MTDBaseNumber_h
0003
0004
0005
0006
0007
0008
0009 #include <vector>
0010 #include <string>
0011
0012 #include "FWCore/Utilities/interface/Exception.h"
0013 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0014
0015 class MTDBaseNumber {
0016 public:
0017 MTDBaseNumber();
0018 MTDBaseNumber(const MTDBaseNumber& aBaseNumber);
0019 ~MTDBaseNumber() {}
0020
0021 void setSize(const int size);
0022 void addLevel(const std::string_view name, const int copyNumber);
0023
0024 int getLevels() const;
0025 int getCopyNumber(int level) const;
0026 int getCopyNumber(const std::string_view levelName) const;
0027 std::string_view const& getLevelName(int level) const;
0028 int getCapacity();
0029
0030 void reset();
0031
0032 protected:
0033 static constexpr int MAXLEVEL = 20;
0034
0035 std::vector<std::string_view> _sortedName;
0036 std::vector<int> _sortedCopyNumber;
0037 int _theLevels;
0038 };
0039
0040 #endif