Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef HcalSimAlgos_HcalSimParameterMap_h
0002 #define HcalSimAlgos_HcalSimParameterMap_h
0003 
0004 #include "SimCalorimetry/CaloSimAlgos/interface/CaloVSimParameterMap.h"
0005 #include "SimCalorimetry/HcalSimAlgos/interface/HcalSimParameters.h"
0006 #include "SimCalorimetry/HcalSimAlgos/interface/HFSimParameters.h"
0007 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0008 #include "DataFormats/HcalDetId/interface/HcalDetId.h"
0009 
0010 class HcalSimParameterMap : public CaloVSimParameterMap {
0011 public:
0012   /// hardcoded default parameters
0013   HcalSimParameterMap();
0014   /// configurable parameters
0015   HcalSimParameterMap(const edm::ParameterSet& p);
0016 
0017   ~HcalSimParameterMap() override {}
0018 
0019   const CaloSimParameters& simParameters(const DetId& id) const override;
0020 
0021   /// accessors
0022   const HcalSimParameters& hbParameters() const { return theHBParameters; }
0023   const HcalSimParameters& heParameters() const { return theHEParameters; }
0024   const HcalSimParameters& hoParameters() const { return theHOParameters; }
0025   const HFSimParameters& hfParameters1() const { return theHFParameters1; }
0026   const HFSimParameters& hfParameters2() const { return theHFParameters2; }
0027   const HFSimParameters& zdcParameters() const { return theZDCParameters; }
0028 
0029   void setDbService(const HcalDbService* service);
0030 
0031   void setFrameSize(const DetId& detId, int frameSize);
0032 
0033   void setHOZecotekDetIds(const std::vector<HcalDetId>& ids) { theHOZecotekDetIds = ids; }
0034   void setHOHamamatsuDetIds(const std::vector<HcalDetId>& ids) { theHOHamamatsuDetIds = ids; }
0035 
0036 private:
0037   void setFrameSize(CaloSimParameters& parameters, int frameSize);
0038 
0039   HcalSimParameters theHBParameters;
0040   HcalSimParameters theHEParameters;
0041   HcalSimParameters theHOParameters;
0042   HcalSimParameters theHOZecotekSiPMParameters;
0043   HcalSimParameters theHOHamamatsuSiPMParameters;
0044   HFSimParameters theHFParameters1;
0045   HFSimParameters theHFParameters2;
0046   HFSimParameters theZDCParameters;
0047   std::vector<HcalDetId> theHOZecotekDetIds;
0048   std::vector<HcalDetId> theHOHamamatsuDetIds;
0049 };
0050 
0051 #endif