4 #include "CLHEP/Units/GlobalSystemOfUnits.h"
10 : hgcons_(hgc), cut_(maxL), rot_(rot) {
12 for (
auto ang : angle) {
13 projXY_.push_back(std::pair<double, double>(
cos(ang * CLHEP::deg),
sin(ang * CLHEP::deg)));
17 << angle.size() <<
" axes";
18 for (
unsigned int k = 0;
k < angle.size(); ++
k)
27 std::pair<double, double>
xy =
29 double xx = (zside > 0) ? xy.first : -xy.first;
39 double dist =
dx * proj.first +
dy * proj.second;
46 edm::LogVerbatim(
"HGCSim") <<
"HGCMouseBite:: Point " << point <<
" zside " << zside <<
" wafer " << waferU <<
":"
47 << waferV <<
" position " << xy.first <<
":" << xx <<
":" << xy.second <<
" dxy " <<
dx
48 <<
":" <<
dy <<
" check " <<
check;
Log< level::Info, true > LogVerbatim
int getLayer(double z, bool reco) const
int32_t waferU(const int32_t index)
Sin< T >::type sin(const T &t)
bool exclude(G4ThreeVector &point, int zside, int waferU, int waferV)
Cos< T >::type cos(const T &t)
Abs< T >::type abs(const T &t)
const HGCalDDDConstants & hgcons_
Basic2DVector< T > xy() const
int32_t waferV(const int32_t index)
bool waferHexagon8() const
std::pair< double, double > waferPosition(int wafer, bool reco) const
std::vector< std::pair< double, double > > projXY_
*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
HGCMouseBite(const HGCalDDDConstants &hgc, const std::vector< double > &angle, double maxLength, bool waferRotate)
T angle(T x1, T y1, T z1, T x2, T y2, T z2)