132 double waferSize =
hgc.waferSize(
false);
134 const bool v17OrLess =
hgc.v17OrLess();
137 edm::LogVerbatim(
"HGCalSim") <<
"HGCalTestGuardRing: Wafer Szie " << waferSize <<
" v17OrLess " << v17OrLess;
141 for (std::map<HGCSiliconDetId, int>::const_iterator itr =
waferID_.begin(); itr !=
waferID_.end(); ++itr) {
148 int partial = ((itr->second) % 100);
149 int orient = (((itr->second) / 100) % 100);
150 int type =
id.type();
152 for (
int u = 0; u < 2 *
nCells; ++u) {
160 std::pair<double, double>
xy = wafer.cellUV2XY1(u,
v, placeIndex,
type);
161 std::vector<std::pair<double, double> > wxy1 =
164 std::ostringstream st1;
165 for (
unsigned int k1 = 0; k1 < wxy1.size(); ++k1)
166 st1 <<
" (" << wxy1[k1].
first <<
", " << wxy1[k1].
second <<
")";
168 <<
"First " << hid <<
" Type:Partial:Orient:Place " <<
type <<
":" << partial <<
":" <<
orient 169 <<
":" << placeIndex <<
" Boundary with " << wxy1.size() <<
" points: " << st1.str() <<
" check " 170 << check1 <<
" for (" <<
xy.first <<
", " <<
xy.second <<
")";
172 std::vector<std::pair<double, double> > wxy2 =
175 std::ostringstream st2;
176 for (
unsigned int k1 = 0; k1 < wxy2.size(); ++k1)
177 st2 <<
" (" << wxy2[k1].
first <<
", " << wxy2[k1].
second <<
")";
179 <<
" points: " << st2.str() <<
" check " << check2 <<
" for (" <<
xy.first
180 <<
", " <<
xy.second <<
")";
Log< level::Info, true > LogVerbatim
auto const good
min quality of good
static constexpr int32_t waferFrontBack(int32_t index)
int32_t waferU(const int32_t index)
std::map< HGCSiliconDetId, int > waferID_
const double guardRingOffset_
const edm::ESGetToken< HGCalGeometry, IdealGeometryRecord > geomToken_
static std::vector< std::pair< double, double > > waferXY(const int &part, const int &orient, const int &zside, const double &waferSize, const double &offset, const double &xpos, const double &ypos, const bool &v17)
U second(std::pair< T, U > const &p)
const std::string nameSense_
TupleMultiplicity< TrackerTraits > const HitToTuple< TrackerTraits > const cms::cuda::AtomicPairCounter GPUCACellT< TrackerTraits > const *__restrict__ uint32_t const *__restrict__ nCells
static bool insidePolygon(double x, double y, const std::vector< std::pair< double, double > > &xyv)
int32_t waferV(const int32_t index)