File indexing completed on 2024-04-06 12:02:14
0001 #ifndef HcalQIEData_h
0002 #define HcalQIEData_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #include "CondFormats/Serialization/interface/Serializable.h"
0015
0016 #include <vector>
0017 #include <algorithm>
0018
0019 #include "CondFormats/HcalObjects/interface/HcalCondObjectContainer.h"
0020 #include "CondFormats/HcalObjects/interface/HcalQIEShape.h"
0021 #include "CondFormats/HcalObjects/interface/HcalQIECoder.h"
0022 #include "DataFormats/DetId/interface/DetId.h"
0023
0024 class HcalQIEData : public HcalCondObjectContainer<HcalQIECoder> {
0025 public:
0026 #ifndef HCAL_COND_SUPPRESS_DEFAULT
0027 HcalQIEData() : HcalCondObjectContainer<HcalQIECoder>(nullptr) { setupShape(); }
0028 #endif
0029
0030 HcalQIEData(const HcalTopology* topo) : HcalCondObjectContainer<HcalQIECoder>(topo) { setupShape(); }
0031
0032 void setupShape();
0033
0034
0035 const HcalQIEShape& getShape(int qieType) const { return mShape[qieType]; }
0036
0037 const HcalQIECoder* getCoder(DetId fId) const { return getValues(fId); }
0038
0039 bool sorted() const { return true; }
0040
0041 bool addCoder(const HcalQIECoder& fCoder) { return addValues(fCoder); }
0042
0043 void sort() {}
0044
0045 std::string myname() const override { return (std::string) "HcalQIEData"; }
0046
0047
0048
0049 private:
0050 HcalQIEShape mShape[2] COND_TRANSIENT;
0051
0052 COND_SERIALIZABLE;
0053 };
0054
0055 #endif