File indexing completed on 2024-09-10 02:58:36
0001
0002
0003 #ifndef EBSRFLAG_H
0004 #define EBSRFLAG_H
0005
0006 #include "DataFormats/EcalDetId/interface/EcalTrigTowerDetId.h"
0007 #include "DataFormats/EcalDigi/interface/EcalSrFlag.h"
0008 #include "FWCore/Utilities/interface/Exception.h"
0009
0010
0011
0012
0013 class EBSrFlag : public EcalSrFlag {
0014 public:
0015 typedef EcalTrigTowerDetId key_type;
0016
0017 public:
0018
0019
0020 EBSrFlag() {}
0021
0022
0023
0024
0025
0026 EBSrFlag(const EcalTrigTowerDetId& tt, const int& flag) : ttId_(tt) {
0027
0028 if (flag < 0 || flag > 0x7)
0029 throw cms::Exception("InvalidValue", "srp flag greater than 0x7 or negative.");
0030 flag_ = (unsigned char)flag;
0031 }
0032
0033
0034
0035
0036 const EcalTrigTowerDetId& id() const override { return ttId_; }
0037
0038 private:
0039
0040
0041 EcalTrigTowerDetId ttId_;
0042 };
0043
0044 std::ostream& operator<<(std::ostream& s, const EBSrFlag& digi);
0045
0046 #endif