14 using namespace sistrip;
37 : etadivisions_(pset.getUntrackedParameter<unsigned int>(
"EtaDivisions", 10)),
38 phidivisions_(pset.getUntrackedParameter<unsigned int>(
"PhiDivisions", 10)),
39 etamax_(pset.getUntrackedParameter<double>(
"EtaMax", 2.4))
63 etadivisions_ * phidivisions_,
69 for (
const auto& idet : detcabling.getDetCabling()) {
74 auto geom_det = tkgeom.idToDetUnit(
DetId(idet.first));
81 double eta = tkgeom.idToDet(
DetId(idet.first))->position().eta();
82 double phi = tkgeom.idToDet(
DetId(idet.first))->position().phi().value();
89 uint32_t
layer = tTopo.layer(idet.first);
92 const std::vector<const FedChannelConnection*>& conns = idet.second;
96 auto& elem = regioncabling[reg][subdet][
layer].back();
97 elem.first = idet.first;
98 elem.second.resize(conns.size());
99 for (
const auto& iconn : conns) {
100 if ((iconn !=
nullptr) && (iconn->apvPairNumber() < conns.size())) {
101 elem.second[iconn->apvPairNumber()] = *iconn;
107 RegionConnections->setRegionCabling(regioncabling);
109 return RegionConnections;
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > tkgeomToken_
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
SiStripRegionConnectivity(const edm::ParameterSet &)
std::pair< uint32_t, std::vector< FedChannelConnection > > Element
static const uint32_t invalid32_
std::vector< Element > ElementCabling
constexpr std::array< uint8_t, layerIndexSize > layer
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
static const SubDet subdetFromDetId(const uint32_t detid)
std::vector< RegionCabling > Cabling
edm::ESGetToken< SiStripDetCabling, SiStripDetCablingRcd > detcablingToken_
tuple SiStripRegionConnectivity
std::pair< double, double > Position
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
std::vector< WedgeCabling > RegionCabling
std::unique_ptr< SiStripRegionCabling > produceRegionCabling(const SiStripRegionCablingRcd &)
std::vector< ElementCabling > WedgeCabling
~SiStripRegionConnectivity() override