File indexing completed on 2024-04-06 12:14:41
0001 #ifndef GlobalTrackingGeometryBuilder_GlobalTrackingGeometryESProducer_h
0002 #define GlobalTrackingGeometryBuilder_GlobalTrackingGeometryESProducer_h
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include "FWCore/Framework/interface/ESProducer.h"
0012 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0013 #include "Geometry/Records/interface/GlobalTrackingGeometryRecord.h"
0014
0015 #include <memory>
0016 #include <string>
0017
0018 class GlobalTrackingGeometry;
0019 class TrackerGeometry;
0020 class MTDGeometry;
0021 class DTGeometry;
0022 class CSCGeometry;
0023 class RPCGeometry;
0024 class GEMGeometry;
0025 class ME0Geometry;
0026 class TrackerDigiGeometryRecord;
0027 class MTDDigiGeometryRecord;
0028 class MuonGeometryRecord;
0029
0030 class GlobalTrackingGeometryESProducer : public edm::ESProducer {
0031 public:
0032
0033 GlobalTrackingGeometryESProducer(const edm::ParameterSet& p);
0034
0035
0036 ~GlobalTrackingGeometryESProducer() override;
0037
0038
0039 std::unique_ptr<GlobalTrackingGeometry> produce(const GlobalTrackingGeometryRecord& record);
0040
0041 private:
0042 edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> trackerToken_;
0043 edm::ESGetToken<MTDGeometry, MTDDigiGeometryRecord> mtdToken_;
0044 edm::ESGetToken<DTGeometry, MuonGeometryRecord> dtToken_;
0045 edm::ESGetToken<CSCGeometry, MuonGeometryRecord> cscToken_;
0046 edm::ESGetToken<RPCGeometry, MuonGeometryRecord> rpcToken_;
0047 edm::ESGetToken<GEMGeometry, MuonGeometryRecord> gemToken_;
0048 edm::ESGetToken<ME0Geometry, MuonGeometryRecord> me0Token_;
0049 };
0050 #endif