Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:14:49

0001 #ifndef GEOMETRY_HCALEVENTSETUP_CALOTOWERHARDCODEGEOMETRYEP_H
0002 #define GEOMETRY_HCALEVENTSETUP_CALOTOWERHARDCODEGEOMETRYEP_H 1
0003 
0004 #include <memory>
0005 
0006 #include "FWCore/Framework/interface/ModuleFactory.h"
0007 #include "FWCore/Framework/interface/ESProducer.h"
0008 
0009 #include "Geometry/Records/interface/CaloTowerGeometryRecord.h"
0010 #include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h"
0011 #include "Geometry/HcalTowerAlgo/interface/CaloTowerHardcodeGeometryLoader.h"
0012 
0013 class HcalRecNumberingRecord;
0014 class IdealGeometryRecord;
0015 
0016 class CaloTowerHardcodeGeometryEP : public edm::ESProducer {
0017 public:
0018   CaloTowerHardcodeGeometryEP(const edm::ParameterSet&);
0019 
0020   using ReturnType = std::unique_ptr<CaloSubdetectorGeometry>;
0021 
0022   ReturnType produce(const CaloTowerGeometryRecord&);
0023 
0024 private:
0025   // ----------member data ---------------------------
0026   CaloTowerHardcodeGeometryLoader loader_;
0027   edm::ESGetToken<CaloTowerTopology, HcalRecNumberingRecord> cttopoToken_;
0028   edm::ESGetToken<HcalTopology, HcalRecNumberingRecord> hcaltopoToken_;
0029   edm::ESGetToken<HcalDDDRecConstants, HcalRecNumberingRecord> consToken_;
0030 };
0031 
0032 #endif