File indexing completed on 2024-04-06 12:30:52
0001 #ifndef SimPPS_PPSPixelDigiProducer_RPix_DET_DIGITIZER_H
0002 #define SimPPS_PPSPixelDigiProducer_RPix_DET_DIGITIZER_H
0003
0004 #include "SimDataFormats/TrackingHit/interface/PSimHit.h"
0005 #include "SimTracker/Common/interface/SiG4UniversalFluctuation.h"
0006 #include "SimGeneral/NoiseGenerators/interface/GaussianTailNoiseGenerator.h"
0007
0008 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0009
0010 #include "FWCore/Framework/interface/EventSetup.h"
0011
0012 #include "SimPPS/PPSPixelDigiProducer/interface/RPixHitChargeConverter.h"
0013 #include "SimPPS/PPSPixelDigiProducer/interface/RPixDummyROCSimulator.h"
0014
0015 #include "DataFormats/CTPPSDigi/interface/CTPPSPixelDigi.h"
0016 #include "DataFormats/CTPPSDigi/interface/CTPPSPixelDigiCollection.h"
0017 #include "CondFormats/PPSObjects/interface/PPSPixelTopology.h"
0018
0019 #include "SimPPS/PPSPixelDigiProducer/interface/RPixPileUpSignals.h"
0020
0021 #include "CondFormats/PPSObjects/interface/CTPPSPixelGainCalibrations.h"
0022 #include "CondFormats/PPSObjects/interface/CTPPSPixelAnalysisMask.h"
0023
0024 namespace CLHEP {
0025 class HepRandomEngine;
0026 }
0027
0028 class RPixDetDigitizer {
0029 public:
0030 RPixDetDigitizer(const edm::ParameterSet ¶ms,
0031 CLHEP::HepRandomEngine &eng,
0032 uint32_t det_id,
0033 const PPSPixelTopology &ppt);
0034
0035 void run(const std::vector<PSimHit> &input,
0036 const std::vector<int> &input_links,
0037 std::vector<CTPPSPixelDigi> &output_digi,
0038 std::vector<std::vector<std::pair<int, double> > > &output_digi_links,
0039 const CTPPSPixelGainCalibrations *pcalibration,
0040 const PPSPixelTopology *ppt);
0041
0042 ~RPixDetDigitizer();
0043
0044 private:
0045 std::unique_ptr<RPixPileUpSignals> theRPixPileUpSignals;
0046 std::unique_ptr<RPixHitChargeConverter> theRPixHitChargeConverter;
0047 std::unique_ptr<RPixDummyROCSimulator> theRPixDummyROCSimulator;
0048
0049 double theNoiseInElectrons;
0050 double thePixelThresholdInE;
0051 bool noNoise;
0052 uint32_t det_id_;
0053 bool misalignment_simulation_on_;
0054 int verbosity_;
0055 bool links_persistence_;
0056 };
0057 #endif