File indexing completed on 2024-04-06 11:58:11
0001 #ifndef CALIBFORMATS_HCALOBJECTS_HCALCALIBRATIONWIDTHSSET_H
0002 #define CALIBFORMATS_HCALOBJECTS_HCALCALIBRATIONWIDTHSSET_H 1
0003
0004 #include "CalibFormats/CastorObjects/interface/CastorCalibrationWidths.h"
0005 #include "DataFormats/HcalDetId/interface/HcalDetId.h"
0006 #include <vector>
0007
0008
0009
0010
0011
0012
0013 class CastorCalibrationWidthsSet {
0014 public:
0015 CastorCalibrationWidthsSet();
0016 const CastorCalibrationWidths& getCalibrationWidths(const DetId id) const;
0017 void setCalibrationWidths(const DetId id, const CastorCalibrationWidths& ca);
0018 void sort();
0019 void clear();
0020
0021 private:
0022 struct CalibWidthSetObject {
0023 CalibWidthSetObject(const DetId& aid) : id(aid) {}
0024 DetId id;
0025 CastorCalibrationWidths calib;
0026 bool operator<(const CalibWidthSetObject& cso) const { return id < cso.id; }
0027 bool operator==(const CalibWidthSetObject& cso) const { return id == cso.id; }
0028 };
0029 typedef CalibWidthSetObject Item;
0030 CastorCalibrationWidths dummy;
0031 std::vector<CalibWidthSetObject> mItems;
0032 bool sorted_;
0033 };
0034
0035 #endif