CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/DataFormats/HcalDetId/interface/HcalCalibDetId.h

Go to the documentation of this file.
00001 #ifndef DATAFORMATS_HCALDETID_HCALCALIBDETID_H
00002 #define DATAFORMATS_HCALDETID_HCALCALIBDETID_H 1
00003 
00004 #include <ostream>
00005 #include "DataFormats/HcalDetId/interface/HcalSubdetector.h"
00006 #include "DataFormats/HcalDetId/interface/HcalOtherDetId.h"
00007 
00008 
00029 class HcalCalibDetId : public HcalOtherDetId {
00030 public:
00032   enum CalibDetType { CalibrationBox = 1, HOCrosstalk = 2 };
00033 
00035   HcalCalibDetId();
00037   HcalCalibDetId(uint32_t rawid);
00039   HcalCalibDetId(const DetId& id);
00040   HcalCalibDetId& operator=(const DetId& id);
00042   HcalCalibDetId(HcalSubdetector subdet, int ieta, int iphi, int ctype);
00044   HcalCalibDetId(int ieta, int iphi);
00045 
00047   CalibDetType calibFlavor() const { return (CalibDetType)((id_>>17)&0x7); }
00048 
00049 
00051   HcalSubdetector hcalSubdet() const;
00053 //  std::string rbx() const;
00055   int ieta() const;
00057   int iphi() const;
00059   int cboxChannel() const;
00061   std::string cboxChannelString() const;
00062 
00064   int zside() const;
00065 
00067   static const int cbox_MixerHigh     = 0; // HB/HE/HO/HF
00068   static const int cbox_MixerLow      = 1; // HB/HE/HO/HF
00069   static const int cbox_LaserMegatile = 2; // in HB only!
00070   static const int cbox_RadDam_Layer0_RM4 = 3; // in HE only!
00071   static const int cbox_RadDam_Layer7_RM4 = 4; // in HE only!
00072   static const int cbox_RadDam_Layer0_RM1 = 5; // in HE only!
00073   static const int cbox_RadDam_Layer7_RM1 = 6; // in HE only!
00074   static const int cbox_HOCrosstalkPIN = 7; // in (part of) HO only!
00075   static const int cbox_HF_ScintillatorPIN = 8; // in HF only!
00076 };
00077 
00078 std::ostream& operator<<(std::ostream& s,const HcalCalibDetId& id);
00079 
00080 #endif