Back to home page

Project CMSSW displayed by LXR

 
 

    


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   /**Produces the EDM products,*/
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