11 using index = std::pair<int, int>;
17 const int layersTIB = 4;
18 const int ringsTID = 3;
19 const int layersTOB = 6;
20 const int ringsTEC = 7;
32 inline double get(
const index& idx)
const {
return m_data.at(idx.first)[idx.second]; }
45 layerId = tTopo->
tidRing(
id) - 1;
48 layerId = tTopo->
tecRing(
id) - 1;
53 return std::make_pair(subId, layerId);
70 m_data.insert(std::make_pair(subDet, v));
71 }
else if (v.size() == 1) {
73 m_data.insert(std::make_pair(subDet, parV));
75 throw cms::Exception(
"Configuration") <<
"ERROR: number of parameters for subDet " << subDet <<
" are "
76 << v.size() <<
". They must be either 1 or " << layers << std::endl;
static constexpr auto TEC
std::vector< LayerSetAndLayers > layers(const SeedingLayerSetsHits &sets)
unsigned int tibLayer(const DetId &id) const
unsigned int tidRing(const DetId &id) const
unsigned int tecRing(const DetId &id) const
ring id
std::vector< double > LayerParameters
std::pair< int, int > index
static index getIndex(const TrackerTopology *tTopo, DetId id)
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
T getParameter(std::string const &) const
SiStripFakeAPVParameters()
void fillSubDetParameter(const std::vector< double > &v, const int subDet, const unsigned short layers)
std::map< int, LayerParameters > SubdetParameters
SiStripFakeAPVParameters(const edm::ParameterSet &pset, const std::string ¶meterName)
Fills the parameters read from cfg and matching the name in the map.
static constexpr auto TID
unsigned int tobLayer(const DetId &id) const