File indexing completed on 2024-04-06 12:04:17
0001 #ifndef HCALGENERICDETID_H
0002 #define HCALGENERICDETID_H
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include <ostream>
0012 #include "DataFormats/DetId/interface/DetId.h"
0013 #include "DataFormats/HcalDetId/interface/HcalSubdetector.h"
0014
0015 class HcalGenericDetId : public DetId {
0016 public:
0017 enum HcalGenericSubdetector {
0018 HcalGenEmpty = 0,
0019 HcalGenBarrel = 1,
0020 HcalGenEndcap = 2,
0021 HcalGenOuter = 3,
0022 HcalGenForward = 4,
0023 HcalGenTriggerTower = 5,
0024 HcalGenZDC = 8,
0025 HcalGenCalibration = 9,
0026 HcalGenCastor = 10,
0027 HcalGenUnknown = 99
0028 };
0029 HcalGenericDetId() : DetId() {}
0030 HcalGenericDetId(uint32_t rawid) : DetId(rawid) {}
0031 HcalGenericDetId(const DetId& id) : DetId(id) {}
0032 HcalOtherSubdetector otherSubdet() const;
0033 HcalGenericSubdetector genericSubdet() const;
0034 bool isHcalDetId() const;
0035 bool isHcalCalibDetId() const;
0036 bool isHcalTrigTowerDetId() const;
0037 bool isHcalZDCDetId() const;
0038 bool isHcalCastorDetId() const;
0039 };
0040
0041 std::ostream& operator<<(std::ostream&, const HcalGenericDetId& id);
0042
0043 #endif