11 const Container& wiresInConsecutiveGroups,
13 : theNumberOfGroups(numberOfGroups) {
16 int countConsecutive = 0;
18 for (
int igs : consecutiveGroups) {
23 for (
int ic = 0; ic != igs; ++ic) {
25 int wiresInGroup = wiresInConsecutiveGroups[countConsecutive];
27 firstWire += wiresInGroup;
31 firstWire += wiresInConsecutiveGroups[countConsecutive];
38 if (countGroups != numberOfGroups) {
39 edm::LogError(
"CSC") <<
"CSCGangedWireGrouping: ERROR in parsing wire info from DDD..."
41 edm::LogError(
"CSC") <<
"groups expected = " << numberOfGroups <<
" groups seen = " << countGroups <<
"\n";
42 edm::LogError(
"CSC") <<
"Please report this error to Tim.Cox@cern.ch"
46 LogTrace(
"CSCWireGeometry|CSC") <<
"CSCGangedWireGrouping constructor complete,"
47 <<
" wire group list follows... ";
50 LogTrace(
"CSCWireGeometry|CSC") <<
" wg# 1st wire #wires";
88 if (wire < (firstWire + wiresInGroup))
100 float middleWire = 0.;
Container theNumberOfWiresPerWireGroup
CSCGangedWireGrouping(const Container &consecutiveGroups, const Container &wiresInConsecutiveGroups, int numberOfGroups)
uint16_t *__restrict__ id
__host__ __device__ constexpr RandomIt upper_bound(RandomIt first, RandomIt last, const T &value, Compare comp={})
Log< level::Error, false > LogError
Container theFirstWireOfEachWireGroup
std::vector< int > Container
float middleWireOfGroup(int wireGroup) const override
Container::const_iterator CIterator
int numberOfWiresPerGroup(int wireGroup) const override
int wireGroup(int wire) const override