19 std::vector<uint32_t> &tibDetRawIds,
27 std::back_inserter(tibDetRawIds),
28 [tTopo, rq_layer, rq_bkw_frw, rq_int_ext, rq_string](
DetId det) {
32 && ((rq_layer == 0) || (rq_layer == tTopo->
tibLayer(det))) &&
33 ((rq_bkw_frw == 0) || (rq_bkw_frw == tTopo->
tibSide(det))) &&
34 ((rq_int_ext == 0) || (rq_int_ext == tTopo->
tibOrder(det))) &&
35 ((rq_string == 0) || (rq_string == tTopo->
tibString(det))));
40 std::vector<uint32_t> &tidDetRawIds,
48 std::back_inserter(tidDetRawIds),
49 [tTopo, rq_side, rq_wheel, rq_ring, rq_ster](
DetId det) {
53 && ((rq_side == 0) || (rq_side == tTopo->
tidSide(det))) &&
54 ((rq_wheel == 0) || (rq_wheel == tTopo->
tidWheel(det))) &&
55 ((rq_ring == 0) || (rq_ring == tTopo->
tidRing(det))) &&
56 ((rq_ster == 0) || (rq_ster == tTopo->
tidStereo(det))));
61 std::vector<uint32_t> &tobDetRawIds,
68 std::back_inserter(tobDetRawIds),
69 [tTopo, rq_layer, rq_bkw_frw, rq_rod](
DetId det) {
73 && ((rq_layer == 0) || (rq_layer == tTopo->
tobLayer(det))) &&
74 ((rq_bkw_frw == 0) || (rq_bkw_frw == tTopo->
tobSide(det))) &&
75 ((rq_rod == 0) || (rq_rod == tTopo->
tobRod(det))));
80 std::vector<uint32_t> &tecDetRawIds,
84 uint32_t rq_petal_bkw_frw,
90 std::back_inserter(tecDetRawIds),
91 [tTopo, rq_side, rq_wheel, rq_petal_bkw_frw, rq_petal, rq_ring, rq_ster](
DetId det) {
95 && ((rq_side == 0) || (rq_side == tTopo->
tecSide(det))) &&
96 ((rq_wheel == 0) || (rq_wheel == tTopo->
tecWheel(det))) &&
97 ((rq_petal_bkw_frw == 0) || (rq_petal_bkw_frw - 1 == tTopo->
tecOrder(det))) &&
99 ((rq_ring == 0) || (rq_ring == tTopo->
tecRing(det))) &&
100 ((rq_ster == 0) || (rq_ster == tTopo->
tecStereo(det))));
static constexpr auto TEC
void getTIBDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tibDetRawIds, const TrackerTopology *trackerTopology, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t int_ext=0, uint32_t string=0)
unsigned int tibLayer(const DetId &id) const
unsigned int tibString(const DetId &id) const
unsigned int tidRing(const DetId &id) const
unsigned int tecRing(const DetId &id) const
ring id
void getTIDDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tidDetRawIds, const TrackerTopology *trackerTopology, uint32_t side=0, uint32_t wheel=0, uint32_t ring=0, uint32_t ster=0)
unsigned int tidWheel(const DetId &id) const
void getTECDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tecDetRawIds, const TrackerTopology *trackerTopology, uint32_t side=0, uint32_t wheel=0, uint32_t petal_bkw_frw=0, uint32_t petal=0, uint32_t ring=0, uint32_t ster=0)
unsigned int tibSide(const DetId &id) const
unsigned int tidSide(const DetId &id) const
uint32_t tidStereo(const DetId &id) const
unsigned int tobSide(const DetId &id) const
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
static constexpr auto TOB
static constexpr auto TIB
unsigned int tecOrder(const DetId &id) const
uint32_t tecStereo(const DetId &id) const
unsigned int tecPetalNumber(const DetId &id) const
void getTOBDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tobDetRawIds, const TrackerTopology *trackerTopology, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t rod=0)
unsigned int tobRod(const DetId &id) const
unsigned int tecWheel(const DetId &id) const
static constexpr auto TID
unsigned int tobLayer(const DetId &id) const
unsigned int tecSide(const DetId &id) const
unsigned int tibOrder(const DetId &id) const