CMS 3D CMS Logo

ZdcNumberingScheme.h
Go to the documentation of this file.
1 // File: ZdcNumberingScheme.h
3 // Date: 03.06
4 // Description: Numbering scheme for Zdc
5 // Modifications:
7 #undef debug
8 #ifndef ZdcNumberingScheme_h
9 #define ZdcNumberingScheme_h
10 
11 #include "G4Step.hh"
12 
14 public:
15  ZdcNumberingScheme(int);
16  virtual ~ZdcNumberingScheme();
17 
18  void setVerbosity(const int);
19 
20  virtual unsigned int getUnitID(const G4Step* aStep) const;
21 
26  static unsigned int packZdcIndex(int subDet, int layer, int fiber, int channel, int z);
27 
28  // unpacking Unit ID for Zdc (-z=1, +z=2)
29  static void unpackZdcIndex(const unsigned int& idx, int& subDet, int& layer, int& fiber, int& channel, int& z);
30 
31  int detectorLevel(const G4Step*) const;
32  void detectorLevel(const G4Step*, int&, int*, G4String*) const;
33 
34 private:
35  int verbosity;
36 };
37 
38 #endif
static unsigned int packZdcIndex(int subDet, int layer, int fiber, int channel, int z)
virtual unsigned int getUnitID(const G4Step *aStep) const
constexpr std::array< uint8_t, layerIndexSize > layer
void setVerbosity(const int)
static void unpackZdcIndex(const unsigned int &idx, int &subDet, int &layer, int &fiber, int &channel, int &z)
int detectorLevel(const G4Step *) const