File indexing completed on 2025-07-07 03:09:37
0001 #include "DataFormats/ForwardDetId/interface/MTDDetId.h"
0002 #include "DataFormats/ForwardDetId/interface/BTLDetId.h"
0003 #include "DataFormats/ForwardDetId/interface/ETLDetId.h"
0004 #include "DataFormats/DetId/interface/DetId.h"
0005
0006 #include <iostream>
0007 #include <iomanip>
0008 #include <bitset>
0009
0010 int main() {
0011 DetId id;
0012 BTLDetId btlid;
0013 ETLDetId etlid;
0014
0015 auto printBits = [&](const uint32_t& id) {
0016 std::stringstream ss;
0017 ss << std::bitset<4>((id >> 28) & 0xF).to_string() << " " << std::bitset<4>((id >> 24) & 0xF).to_string() << " "
0018 << std::bitset<4>((id >> 20) & 0xF).to_string() << " " << std::bitset<4>((id >> 16) & 0xF).to_string() << " "
0019 << std::bitset<4>((id >> 12) & 0xF).to_string() << " " << std::bitset<4>((id >> 8) & 0xF).to_string() << " "
0020 << std::bitset<4>((id >> 4) & 0xF).to_string() << " " << std::bitset<4>(id & 0xF).to_string();
0021 return ss.str();
0022 };
0023
0024 std::cout << "DetId " << std::setw(20) << id.rawId() << std::setw(40) << printBits(id.rawId()) << " mask "
0025 << std::setw(40) << printBits(MTDDetId::kMTDMask) << " isMTD " << MTDDetId::testForMTD(id) << " isBTL "
0026 << MTDDetId::testForBTL(id) << " isETL " << MTDDetId::testForETL(id) << std::endl;
0027 std::cout << "BTLDetId " << std::setw(20) << btlid.rawId() << std::setw(40) << printBits(btlid.rawId()) << " mask "
0028 << std::setw(40) << printBits(MTDDetId::kBTLMask) << " isMTD " << MTDDetId::testForMTD(btlid) << " isBTL "
0029 << MTDDetId::testForBTL(btlid) << " isETL " << MTDDetId::testForETL(btlid) << std::endl;
0030 std::cout << "ETLDetId " << std::setw(20) << etlid.rawId() << std::setw(40) << printBits(etlid.rawId()) << " mask "
0031 << std::setw(40) << printBits(MTDDetId::kETLMask) << " isMTD " << MTDDetId::testForMTD(etlid) << " isBTL "
0032 << MTDDetId::testForBTL(etlid) << " isETL " << MTDDetId::testForETL(etlid) << std::endl;
0033
0034 return 0;
0035 }