CMS 3D CMS Logo

HGCNumberingScheme.h
Go to the documentation of this file.
1 #ifndef SimG4CMS_HGCNumberingScheme_h
2 #define SimG4CMS_HGCNumberingScheme_h
3 // File: HGCNumberingScheme.h
5 // Description: Definition of sensitive unit numbering schema for HGC
7 
10 
11 #include "G4ThreeVector.hh"
12 
14 public:
16 
18  HGCNumberingScheme() = delete;
19 
21 
25  uint32_t getUnitID(ForwardSubdetector subdet, int layer, int module, int cell, int iz, const G4ThreeVector& pos);
26 
30  int assignCell(float x, float y, int layer);
31 
35  std::pair<float, float> getLocalCoords(int cell, int layer);
36 
37 private:
39 };
40 
41 #endif
int assignCell(float x, float y, int layer)
maps a hit position to a sequential cell in a trapezoid surface defined by h,b,t
std::pair< float, float > getLocalCoords(int cell, int layer)
inverts the cell number in a trapezoid surface to local coordinates
uint32_t getUnitID(ForwardSubdetector subdet, int layer, int module, int cell, int iz, const G4ThreeVector &pos)
assigns the det id to a hit
ForwardSubdetector
constexpr std::array< uint8_t, layerIndexSize< TrackerTraits > > layer
HGCNumberingScheme()=delete
const HGCalDDDConstants & hgcons_