CMS 3D CMS Logo

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