26 "",
"",
"",
"ctpps_tr_strip",
"ctpps_tr_pixel",
"ctpps_ti_diamond",
"ctpps_ti_fastsilicon"};
28 "",
"",
"",
"CTPPS/TrackingStrip",
"CTPPS/TrackingPixel",
"CTPPS/TimingDiamond",
"CTPPS/TimingFastSilicon"};
31 const string CTPPSDetId::rpNames[] = {
"nr_tp",
"nr_bt",
"nr_hr",
"fr_hr",
"fr_tp",
"fr_bt",
"cyl_hr"};
41 <<
" is not a valid CTPPS id.";
51 throw cms::Exception(
"InvalidDetId") <<
"CTPPSDetId ctor: invalid sub-detector " << SubDet <<
".";
56 <<
" Invalid parameters:" 57 <<
" arm=" << Arm <<
" station=" << Station <<
" rp=" << RomanPot << std::endl;
60 uint32_t
ok = 0xfe000000;
71 os <<
"subDet=" <<
id.subdetId() <<
" arm=" <<
id.arm() <<
" station=" <<
id.station() <<
" rp=" <<
id.rp();
std::ostream & operator<<(std::ostream &os, const CTPPSDetId &id)
static const uint32_t maxStation
static const uint32_t startRPBit
static const uint32_t maskStation
static const uint32_t maskRP
static const std::string armNames[]
static const uint32_t lowMaskStation
static const uint32_t maskArm
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
static const uint32_t maxArm
static const std::string subDetectorPaths[]
static const uint32_t maxRP
static const std::string rpNames[]
static const std::string subDetectorNames[]
static const uint32_t startStationBit
Base class for CTPPS detector IDs.
CTPPSDetId(uint32_t id)
Construct from a raw id.
static const uint32_t startArmBit
static const std::string stationNames[]
static const uint32_t lowMaskArm
static const uint32_t lowMaskRP
constexpr Detector det() const
get the detector field from this detid