CMS 3D CMS Logo

HGCGuardRing.h
Go to the documentation of this file.
1 #ifndef SimG4CMS_HGCGuardRing_h
2 #define SimG4CMS_HGCGuardRing_h
3 
5 #include "G4ThreeVector.hh"
6 
7 #include <vector>
8 
9 class HGCGuardRing {
10 public:
12  bool exclude(G4ThreeVector& point, int zside, int frontBack, int layer, int waferU, int waferV);
13 
14 private:
15  bool insidePolygon(double x, double y, const std::vector<std::pair<double, double> >& xyv);
16 
17  static constexpr double sqrt3_ = 1.732050807568877; // std::sqrt(3.0) in double precision
21  double offset_, xmax_, ymax_;
22 };
23 
24 #endif // HGCGuardRing_h
const double sensorSizeOffset_
Definition: HGCGuardRing.h:20
double ymax_
Definition: HGCGuardRing.h:21
int32_t waferU(const int32_t index)
int zside(DetId const &)
constexpr std::array< uint8_t, layerIndexSize< TrackerTraits > > layer
const double waferSize_
Definition: HGCGuardRing.h:20
const double guardRingOffset_
Definition: HGCGuardRing.h:20
bool exclude(G4ThreeVector &point, int zside, int frontBack, int layer, int waferU, int waferV)
Definition: HGCGuradRing.cc:25
double xmax_
Definition: HGCGuardRing.h:21
const HGCalDDDConstants & hgcons_
Definition: HGCGuardRing.h:18
bool insidePolygon(double x, double y, const std::vector< std::pair< double, double > > &xyv)
Definition: HGCGuradRing.cc:63
HGCGuardRing(const HGCalDDDConstants &hgc)
Definition: HGCGuradRing.cc:9
double offset_
Definition: HGCGuardRing.h:21
const HGCalGeometryMode::GeometryMode modeUV_
Definition: HGCGuardRing.h:19
int32_t waferV(const int32_t index)
static constexpr double sqrt3_
Definition: HGCGuardRing.h:17
*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
Definition: invegas.h:5