CMS 3D CMS Logo

HGCalWaferType.h
Go to the documentation of this file.
1 #ifndef HGCalCommonData_HGCalWaferType_h
2 #define HGCalCommonData_HGCalWaferType_h
3 
16 #include <cmath>
17 #include <vector>
18 
20  public:
21  HGCalWaferType(const std::vector<double>& rad100,
22  const std::vector<double>& rad200, double waferSize,
23  double zMin, int choice, unsigned int cutValue,
24  double cutFracArea);
26  int getType(double xpos, double ypos, double zpos);
27  std::pair<double, double> rLimits(double zpos);
28 
29  private:
30  double areaPolygon(std::vector<double> const&, std::vector<double> const&);
31  std::pair<double, double> intersection(int, int, std::vector<double> const&,
32  std::vector<double> const&, double xp,
33  double yp, double rr);
34 
35  const double sqrt3_ = 1.0 / std::sqrt(3.0);
36  const std::vector<double> rad100_;
37  const std::vector<double> rad200_;
38  const double waferSize_;
39  const double zMin_;
40  const int choice_;
41  const unsigned int cutValue_;
42  const double cutFracArea_;
43  double r_, R_;
44 };
45 
46 #endif
const double waferSize_
const std::vector< double > rad200_
const unsigned int cutValue_
const double cutFracArea_
const double sqrt3_
std::pair< double, double > rLimits(double zpos)
const int choice_
int getType(double xpos, double ypos, double zpos)
double areaPolygon(std::vector< double > const &, std::vector< double > const &)
T sqrt(T t)
Definition: SSEVec.h:18
std::pair< double, double > intersection(int, int, std::vector< double > const &, std::vector< double > const &, double xp, double yp, double rr)
const std::vector< double > rad100_
HGCalWaferType(const std::vector< double > &rad100, const std::vector< double > &rad200, double waferSize, double zMin, int choice, unsigned int cutValue, double cutFracArea)
const double zMin_