Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:29:45

0001 #ifndef __SimFastTiming_FastTimingCommon_ETLDeviceSim_h__
0002 #define __SimFastTiming_FastTimingCommon_ETLDeviceSim_h__
0003 
0004 #include "FWCore/Framework/interface/Event.h"
0005 #include "FWCore/Framework/interface/EventSetup.h"
0006 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0007 
0008 #include "SimDataFormats/TrackingHit/interface/PSimHit.h"
0009 #include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h"
0010 #include "SimFastTiming/FastTimingCommon/interface/MTDDigitizerTypes.h"
0011 
0012 #include "Geometry/Records/interface/MTDDigiGeometryRecord.h"
0013 #include "Geometry/MTDGeometryBuilder/interface/MTDGeometry.h"
0014 
0015 #include "CommonTools/Utils/interface/FormulaEvaluator.h"
0016 
0017 #include <tuple>
0018 
0019 namespace CLHEP {
0020   class HepRandomEngine;
0021 }
0022 
0023 class ETLDeviceSim {
0024 public:
0025   ETLDeviceSim(const edm::ParameterSet& pset, edm::ConsumesCollector iC);
0026 
0027   void getEvent(const edm::Event& evt) {}
0028 
0029   void getEventSetup(const edm::EventSetup& evt);
0030 
0031   void getHitsResponse(const std::vector<std::tuple<int, uint32_t, float> >& hitRefs,
0032                        const edm::Handle<edm::PSimHitContainer>& hits,
0033                        mtd_digitizer::MTDSimHitDataAccumulator* simHitAccumulator,
0034                        CLHEP::HepRandomEngine* hre);
0035 
0036 private:
0037   const edm::ESGetToken<MTDGeometry, MTDDigiGeometryRecord> geomToken_;
0038   const MTDGeometry* geom_;
0039   float MIPPerMeV_;
0040   const float integratedLum_;
0041   const reco::FormulaEvaluator fluence_;
0042   const reco::FormulaEvaluator lgadGain_;
0043   const reco::FormulaEvaluator lgadGainDegradation_;
0044   const bool applyDegradation_;
0045   float bxTime_;
0046   float tofDelay_;
0047   const reco::FormulaEvaluator MPVMuon_;
0048   const reco::FormulaEvaluator MPVPion_;
0049   const reco::FormulaEvaluator MPVKaon_;
0050   const reco::FormulaEvaluator MPVElectron_;
0051   const reco::FormulaEvaluator MPVProton_;
0052 };
0053 
0054 #endif