Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:24:24

0001 ///////////////////////////////////////////////////////////////////////////////
0002 // File: ZdcNumberingScheme.h
0003 // Date: 03.06
0004 // Description: Numbering scheme for Zdc
0005 // Modifications:
0006 ///////////////////////////////////////////////////////////////////////////////
0007 #undef debug
0008 #ifndef ZdcNumberingScheme_h
0009 #define ZdcNumberingScheme_h
0010 
0011 #include "G4Step.hh"
0012 
0013 class ZdcNumberingScheme {
0014 public:
0015   ZdcNumberingScheme(int);
0016   virtual ~ZdcNumberingScheme();
0017 
0018   void setVerbosity(const int);
0019 
0020   virtual unsigned int getUnitID(const G4Step* aStep) const;
0021 
0022   /** pack the Unit ID for Zdc <br>
0023    *  z = 1,2 = -z,+z; subDet = 1,2,3 = EM,Lum,HAD; fiber = 1-96 (EM,HAD), 1 (Lum);
0024    *  channel = 1-5 (EM), layer# (Lum), 1-3 (HAD)
0025    */
0026   static unsigned int packZdcIndex(int subDet, int layer, int fiber, int channel, int z);
0027 
0028   // unpacking Unit ID for Zdc (-z=1, +z=2)
0029   static void unpackZdcIndex(const unsigned int& idx, int& subDet, int& layer, int& fiber, int& channel, int& z);
0030 
0031   int detectorLevel(const G4Step*) const;
0032   void detectorLevel(const G4Step*, int&, int*, G4String*) const;
0033 
0034 private:
0035   int verbosity;
0036 };
0037 
0038 #endif