File indexing completed on 2024-04-06 12:30:42
0001 #ifndef CSCDigiProducer_h
0002 #define CSCDigiProducer_h
0003
0004 #include "FWCore/Framework/interface/ConsumesCollector.h"
0005 #include "FWCore/Framework/interface/stream/EDProducer.h"
0006 #include "FWCore/Utilities/interface/ESGetToken.h"
0007 #include "SimDataFormats/CrossingFrame/interface/MixCollection.h"
0008 #include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h"
0009 #include "SimMuon/CSCDigitizer/src/CSCDigitizer.h"
0010 #include "Geometry/CSCGeometry/interface/CSCGeometry.h"
0011 #include "Geometry/Records/interface/MuonGeometryRecord.h"
0012 #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
0013 #include "SimGeneral/HepPDTRecord/interface/ParticleDataTable.h"
0014
0015 class CSCStripConditions;
0016
0017 class CSCDigiProducer : public edm::stream::EDProducer<> {
0018 public:
0019 typedef CSCDigitizer::DigiSimLinks DigiSimLinks;
0020
0021 explicit CSCDigiProducer(const edm::ParameterSet &ps);
0022 ~CSCDigiProducer() override;
0023
0024
0025 void produce(edm::Event &e, const edm::EventSetup &c) override;
0026
0027 private:
0028 CSCDigitizer theDigitizer;
0029 CSCStripConditions *theStripConditions;
0030
0031 edm::EDGetTokenT<CrossingFrame<PSimHit>> cf_token;
0032 edm::ESGetToken<CSCGeometry, MuonGeometryRecord> geom_Token;
0033 edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> magfield_Token;
0034 edm::ESGetToken<ParticleDataTable, edm::DefaultRecord> pdt_Token;
0035 };
0036
0037 #endif