4 #include "CLHEP/Units/GlobalSystemOfUnits.h" 10 const std::vector<double>&
angle,
double maxL,
11 bool rot) : hgcons_(hgc), cut_(maxL), rot_(rot) {
13 for (
auto ang : angle) {
14 projXY_.push_back(std::pair<double,double>(
cos(ang*CLHEP::deg),
sin(ang*CLHEP::deg)));
17 std::cout <<
"Creating HGCMosueBite with cut at " <<
cut_ <<
" along " 18 << angle.size() <<
" axes" << std::endl;
19 for (
unsigned int k=0;
k<angle.size(); ++
k)
20 std::cout <<
"Axis[" <<
k <<
"] " << angle[
k] <<
" with projections " 28 double xx = (zside > 0) ? xy.first : -xy.first;
31 dx =
std::abs(point.y() - xy.second);
35 dy =
std::abs(point.y() - xy.second);
38 double dist = dx*proj.first + dy*proj.second;
39 if (dist >
cut_) {check =
true;
break;}
42 std::cout <<
"HGCMouseBite:: Point " << point <<
" zside " << zside
43 <<
" wafer " << wafer <<
" position " << xy.first <<
":" << xx
44 <<
":" << xy.second <<
" dxy " << dx <<
":" << dy <<
" check " 45 << check << std::endl;
std::vector< std::pair< double, double > > projXY_
Sin< T >::type sin(const T &t)
U second(std::pair< T, U > const &p)
std::pair< double, double > waferPosition(int wafer, bool reco=true) const
Cos< T >::type cos(const T &t)
Abs< T >::type abs(const T &t)
const HGCalDDDConstants & hgcons_
bool exclude(G4ThreeVector &point, int zside, int wafer)
*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)