22 <<
" det: " <<
det() <<
" subdet: " <<
subdetId() <<
" is not a valid RPC id";
29 <<
" det: " <<
det() <<
" subdet: " <<
subdetId() <<
" is not a valid RPC id";
35 this->
init(region, ring, station, sector, layer, subsector);
76 if (this->
type() == 0) {
89 if (region < allRegionId || region >
maxRegionId || ring < allRingId || ring > maxRing || station <
allStationId ||
93 <<
" Invalid parameters: " 94 <<
" region " << region <<
" ring " << ring <<
" station " << station
95 <<
" sector " << sector <<
" layer " << layer <<
" subsector " << subsector
111 if (this->
type() == 0) {
119 if (buf.find(
':') != buf.npos) {
120 buf = buf.substr(buf.find(
':') + 1, buf.npos);
125 if (buf.substr(0, 1) ==
"W") {
127 }
else if (buf.substr(0, 2) ==
"EP") {
129 }
else if (buf.substr(0, 2) ==
"EM") {
133 <<
" RPCCompDetId: " << this->
dbname() <<
" is not a valid DB Name for RPCCompDetId" 145 std::stringstream os;
146 os << buf.substr(2, 1);
148 if (buf.substr(1, 1) ==
"M") {
154 std::stringstream os;
155 os << buf.substr(buf.find(
"RB") + 2, 1);
160 std::stringstream os;
161 os << buf.substr(buf.find(
"S") + 1, 2);
166 if (buf.find(
"4L") != buf.npos)
168 if (buf.find(
"4R") != buf.npos)
174 std::stringstream os;
175 os << buf.substr(buf.find(
"_R0") + 3, 1);
180 std::stringstream os;
181 os << buf.substr(2, 1);
186 std::stringstream os;
187 os << buf.substr(buf.find(
"_C") + 2, 2);
192 if (buf.find(
"UP") != buf.npos)
194 if (buf.find(
"DW") != buf.npos)
198 this->
init(region, ring, station, sector, layer, subsector);
202 std::stringstream os;
203 if (this->
region() == 0) {
206 if (this->
wheel() < 0)
213 os <<
"W" << wsign <<
abs(this->
wheel()) <<
"_S" << std::setw(2) << std::setfill(
'0') << this->
sector() <<
"_RB" 221 os <<
"E" << esign << this->
disk();
223 if (this->
disk() == 1) {
224 os <<
"_R" << std::setw(2) << std::setfill(
'0') << this->
ring() <<
"_C" << std::setw(2) << std::setfill(
'0')
225 << this->
sector() <<
"_C" << std::setw(2) << std::setfill(
'0') << this->
sector() + 5;
227 os <<
"_R" << std::setw(2) << std::setfill(
'0') << this->
ring() <<
"_R" << std::setw(2) << std::setfill(
'0')
228 << this->
ring() + 1 <<
"_C" << std::setw(2) << std::setfill(
'0') << this->
sector() <<
"_C" << std::setw(2)
229 << std::setfill(
'0') << this->
sector() + 2;
232 if (this->
layer() == 1)
234 else if (this->
layer() == 2)
static const int RegionMask_
static const int maxStationId
static const int allRegionId
static const int maxSubSectorId
static const int allSubSectorId
static const int allRingId
static const unsigned int LayerMask_
static const int allSectorId
static const int RegionStartBit_
static const int StationStartBit_
static const int RingStartBit_
std::string gasDBname() const
static const int SubSectorStartBit_
static const int allStationId
static const int maxLayerId
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
Abs< T >::type abs(const T &t)
std::string dbname() const
static const int allLayerId
static const unsigned int StationMask_
static const unsigned int SectorMask_
static const int maxRingBarrelId
static const unsigned int SubSectorMask_
static const int maxRegionId
static const int maxSectorId
static const int maxRingForwardId
bool operator<(const RPCCompDetId &r) const
Sort Operator based on the name.
std::ostream & operator<<(std::ostream &os, const RPCCompDetId &id)
static const unsigned int RingMask_
static const int LayerStartBit_
static const int SectorStartBit_
constexpr Detector det() const
get the detector field from this detid