File indexing completed on 2024-04-06 12:14:36
0001 #ifndef GEOMETRY_ECALEVENTSETUP_ECALTBHODOSCOPEGEOMETRYEPEP_H
0002 #define GEOMETRY_ECALEVENTSETUP_ECALTBHODOSCOPEGEOMETRYEPEP_H 1
0003
0004
0005 #include <memory>
0006
0007
0008 #include "FWCore/Framework/interface/ModuleFactory.h"
0009 #include "FWCore/Framework/interface/ESProducer.h"
0010
0011 #include "FWCore/Framework/interface/ESTransientHandle.h"
0012 #include "FWCore/Utilities/interface/ESGetToken.h"
0013
0014 #include "Geometry/Records/interface/IdealGeometryRecord.h"
0015 #include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h"
0016 #include "DetectorDescription/Core/interface/DDCompactView.h"
0017 #include "Geometry/EcalTestBeam/plugins/EcalTBHodoscopeGeometryLoaderFromDDD.h"
0018
0019
0020
0021
0022
0023 class EcalTBHodoscopeGeometryEP : public edm::ESProducer {
0024 public:
0025 EcalTBHodoscopeGeometryEP(const edm::ParameterSet&);
0026 ~EcalTBHodoscopeGeometryEP() override = default;
0027
0028 typedef std::unique_ptr<CaloSubdetectorGeometry> ReturnType;
0029
0030 ReturnType produce(const IdealGeometryRecord&);
0031
0032 private:
0033
0034 EcalTBHodoscopeGeometryLoaderFromDDD loader_;
0035 edm::ESGetToken<DDCompactView, IdealGeometryRecord> cpvToken_;
0036 };
0037
0038 #endif