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
0013 HcalSimParameterMap();
0014
0015 HcalSimParameterMap(const edm::ParameterSet& p);
0016
0017 ~HcalSimParameterMap() override {}
0018
0019 const CaloSimParameters& simParameters(const DetId& id) const override;
0020
0021
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