Back to home page

Project CMSSW displayed by LXR

 
 

    


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  // HGCMouseBite_h