CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_2_9_HLT1_bphpatch4/src/SimG4CMS/Forward/interface/ZdcNumberingScheme.h

Go to the documentation of this file.
00001 
00002 // File: ZdcNumberingScheme.h
00003 // Date: 03.06
00004 // Description: Numbering scheme for Zdc
00005 // Modifications:
00007 #undef debug
00008 #ifndef ZdcNumberingScheme_h
00009 #define ZdcNumberingScheme_h
00010 
00011 #include "G4Step.hh"
00012 
00013 class ZdcNumberingScheme {
00014 
00015 public:
00016   ZdcNumberingScheme(int);
00017   virtual ~ZdcNumberingScheme();
00018 
00019   void setVerbosity(const int);
00020 
00021   virtual unsigned int getUnitID(const G4Step* aStep) const ;
00022 
00027   static unsigned int packZdcIndex(int subDet, int layer, int fiber, int channel, int z);
00028 
00029   // unpacking Unit ID for Zdc (-z=1, +z=2)
00030   static void unpackZdcIndex(const unsigned int& idx, int& subDet, int& layer, int& fiber,
00031                              int& channel, int& z);
00032 
00033   int  detectorLevel(const G4Step*) const;
00034   void detectorLevel(const G4Step*, int&, int*, G4String*) const;
00035 
00036 private:
00037 
00038   int verbosity;
00039 
00040 };
00041 
00042 #endif