File indexing completed on 2023-03-17 11:24:08
0001 #ifndef SimG4CMS_HGCNumberingScheme_h
0002 #define SimG4CMS_HGCNumberingScheme_h
0003
0004
0005
0006
0007
0008 #include "DataFormats/ForwardDetId/interface/ForwardSubdetector.h"
0009 #include "Geometry/HGCalCommonData/interface/HGCalDDDConstants.h"
0010
0011 #include "G4ThreeVector.hh"
0012
0013 class HGCNumberingScheme {
0014 public:
0015 enum HGCNumberingParameters { HGCCellSize };
0016
0017 HGCNumberingScheme(const HGCalDDDConstants& hgc, std::string& name);
0018 HGCNumberingScheme() = delete;
0019
0020 ~HGCNumberingScheme();
0021
0022
0023
0024
0025 uint32_t getUnitID(ForwardSubdetector subdet, int layer, int module, int cell, int iz, const G4ThreeVector& pos);
0026
0027
0028
0029
0030 int assignCell(float x, float y, int layer);
0031
0032
0033
0034
0035 std::pair<float, float> getLocalCoords(int cell, int layer);
0036
0037 private:
0038 const HGCalDDDConstants& hgcons_;
0039 };
0040
0041 #endif