Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:29:47

0001 #ifndef SimG4CMS_HcalTestNumberingScheme_h
0002 #define SimG4CMS_HcalTestNumberingScheme_h
0003 ///////////////////////////////////////////////////////////////////////////////
0004 // File: HcalTestNumberingScheme.h
0005 // Description: Numbering scheme for hadron calorimeter (detailed for TB)
0006 ///////////////////////////////////////////////////////////////////////////////
0007 
0008 #include "SimG4CMS/Calo/interface/HcalNumberingScheme.h"
0009 #include "DataFormats/HcalDetId/interface/HcalTestNumbering.h"
0010 
0011 class HcalTestNumberingScheme : public HcalNumberingScheme {
0012 public:
0013   HcalTestNumberingScheme(bool forTB);
0014   HcalTestNumberingScheme() = delete;
0015   ~HcalTestNumberingScheme() override;
0016   uint32_t getUnitID(const HcalNumberingFromDDD::HcalID& id) override;
0017   static uint32_t packHcalIndex(int det, int z, int depth, int eta, int phi, int lay);
0018   static void unpackHcalIndex(const uint32_t& idx, int& det, int& z, int& depth, int& eta, int& phi, int& lay);
0019 
0020 private:
0021   bool forTBH2;
0022 };
0023 
0024 #endif