Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:04:17

0001 #ifndef HCALGENERICDETID_H
0002 #define HCALGENERICDETID_H
0003 
0004 /** \class HcalGenericDetId
0005     \author F.Ratnikov, UMd
0006    Generic HCAL detector ID suitable for all Hcal subdetectors
0007    
0008    R.Ofierzynski, 22.02.2008, added hashedId
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