CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/src/SimG4CMS/Forward/interface/BscNumberingScheme.h

Go to the documentation of this file.
00001 
00002 // File: BscNumberingScheme.h
00003 // Date: 02.2006
00004 // Description: Numbering scheme for Bsc
00005 // Modifications:
00007 #ifndef BscNumberingScheme_h
00008 #define BscNumberingScheme_h
00009 
00010 #include "G4Step.hh"
00011 #include <boost/cstdint.hpp>
00012 #include "G4ThreeVector.hh"
00013 #include <map>
00014 
00015 
00016 
00017 
00018 class BscNumberingScheme {
00019   
00020  public:
00021   BscNumberingScheme();
00022   virtual ~BscNumberingScheme();
00023   
00024   virtual unsigned int getUnitID(const G4Step* aStep) const;
00025   
00026   // Utilities to get detector levels during a step
00027   virtual int  detectorLevel(const G4Step*) const;
00028   virtual void detectorLevel(const G4Step*, int&, int*, G4String*) const;
00029   
00030   
00031   //protected:
00032   
00033   static unsigned int packBscIndex(int det, int zside, int station);
00034   
00035   static void unpackBscIndex(const unsigned int& idx);
00036   
00037   
00038   
00039 };
00040 
00041 #endif