11 modeUV_(hgcons_.geomMode()),
12 v17OrLess_(hgcons_.v17OrLess()),
13 waferSize_(hgcons_.waferSize(
false)),
14 sensorSizeOffset_(hgcons_.getParameter()->sensorSizeOffset_),
15 guardRingOffset_(hgcons_.getParameter()->guardRingOffset_) {
33 <<
index <<
" partial " << partial;
47 <<
" wafer " <<
waferU <<
":" <<
waferV <<
" partial type " << partial <<
":" 49 <<
" check " <<
check;
51 }
else if (partial > 0) {
57 std::vector<std::pair<double, double> > wxy =
61 std::ostringstream st1;
62 st1 <<
"HGCGuardRing:: Point " <<
point <<
" Partial/orient/zside/size/offset " << partial <<
":" <<
orient 64 for (
unsigned int k = 0;
k < wxy.size(); ++
k)
70 std::vector<std::pair<double, double> > wxy =
74 std::ostringstream st1;
75 st1 <<
"HGCGuardRing:: Point " <<
point <<
" Partial/frontback/orient/zside/placeemnt/size/offset " << partial
77 <<
" with " << wxy.size() <<
" points:";
78 for (
unsigned int k = 0;
k < wxy.size(); ++
k)
93 for (
unsigned i1 = 1;
i1 <= xyv.size();
i1++) {
94 unsigned i2 = (
i1 % xyv.size());
101 if ((
x1 ==
x2) || (
x <= xinter))
Log< level::Info, true > LogVerbatim
static int32_t cellPlacementIndex(int32_t iz, int32_t frontBack, int32_t orient)
const double sensorSizeOffset_
const HGCalParameters * getParameter() const
int32_t waferU(const int32_t index)
static int getPartial(int index, const HGCalParameters::waferInfo_map &wafers)
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)
static int getOrient(int index, const HGCalParameters::waferInfo_map &wafers)
U second(std::pair< T, U > const &p)
static constexpr int32_t WaferFull
const double guardRingOffset_
bool exclude(G4ThreeVector &point, int zside, int frontBack, int layer, int waferU, int waferV)
Abs< T >::type abs(const T &t)
int32_t waferIndex(int32_t layer, int32_t waferU, int32_t waferV, bool old=false)
bool waferHexagon8Module() const
const HGCalDDDConstants & hgcons_
static bool insidePolygon(double x, double y, const std::vector< std::pair< double, double > > &xyv)
HGCGuardRing(const HGCalDDDConstants &hgc)
static std::atomic< unsigned int > counter
const HGCalGeometryMode::GeometryMode modeUV_
int32_t waferV(const int32_t index)
static constexpr double sqrt3_
waferInfo_map waferInfoMap_
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point