Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:29:47

0001 #ifndef SimG4CMS_Calo_HFNoseNumberingScheme_h
0002 #define SimG4CMS_Calo_HFNoseNumberingScheme_h
0003 ///////////////////////////////////////////////////////////////////////////////
0004 // File: HFNoseNumberingScheme.h
0005 // Description: Definition of sensitive unit numbering schema for HFNose
0006 ///////////////////////////////////////////////////////////////////////////////
0007 
0008 #include "DataFormats/ForwardDetId/interface/HFNoseDetId.h"
0009 #include "Geometry/HGCalCommonData/interface/HGCalDDDConstants.h"
0010 #include "Geometry/HGCalCommonData/interface/HGCalGeometryMode.h"
0011 
0012 #include "G4ThreeVector.hh"
0013 
0014 class HFNoseNumberingScheme {
0015 public:
0016   HFNoseNumberingScheme(const HGCalDDDConstants& hgc);
0017   HFNoseNumberingScheme() = delete;
0018   ~HFNoseNumberingScheme() {}
0019 
0020   /**
0021      @short assigns the det id to a hit
0022    */
0023   uint32_t getUnitID(int layer, int module, int cell, int iz, const G4ThreeVector& pos, double& wt);
0024 
0025 private:
0026   void checkPosition(uint32_t index, const G4ThreeVector& pos) const;
0027 
0028   const HGCalDDDConstants& hgcons_;
0029   const HGCalGeometryMode::GeometryMode mode_;
0030 };
0031 
0032 #endif