File indexing completed on 2024-04-06 12:29:48
0001 #ifndef SimG4CMS_HGCMouseBite_h
0002 #define SimG4CMS_HGCMouseBite_h
0003
0004 #include "Geometry/HGCalCommonData/interface/HGCalDDDConstants.h"
0005 #include "Geometry/HGCalTBCommonData/interface/HGCalTBDDDConstants.h"
0006 #include "G4ThreeVector.hh"
0007
0008 #include <vector>
0009
0010 class HGCMouseBite {
0011 public:
0012 HGCMouseBite(const HGCalDDDConstants& hgc, const std::vector<double>& angle, double maxLength, bool waferRotate);
0013 HGCMouseBite(const HGCalTBDDDConstants& hgc, const std::vector<double>& angle, double maxLength, bool waferRotate);
0014 bool exclude(G4ThreeVector& point, int zside, int layer, int waferU, int waferV);
0015
0016 private:
0017 void init(const std::vector<double>& angle);
0018
0019 const HGCalDDDConstants* hgcons_;
0020 const HGCalTBDDDConstants* hgTBcons_;
0021 const bool ifTB_;
0022 double cut_;
0023 bool rot_;
0024 bool modeUV_;
0025 std::vector<std::pair<double, double> > projXY_;
0026 };
0027
0028 #endif