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 
20 
24  uint32_t getUnitID(ForwardSubdetector subdet, int layer, int module, int cell, int iz, const G4ThreeVector& pos);
25 
29  int assignCell(float x, float y, int layer);
30 
34  std::pair<float, float> getLocalCoords(int cell, int layer);
35 
36 private:
37  HGCNumberingScheme() = delete;
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
HGCNumberingScheme()=delete
Definition: vlib.h:208
const HGCalDDDConstants & hgcons_