Back to home page

Project CMSSW displayed by LXR

 
 

    


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 // system include files
0005 #include <memory>
0006 
0007 // user include files
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 // class declaration
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   // ----------member data ---------------------------
0034   EcalTBHodoscopeGeometryLoaderFromDDD loader_;
0035   edm::ESGetToken<DDCompactView, IdealGeometryRecord> cpvToken_;
0036 };
0037 
0038 #endif