File indexing completed on 2024-04-06 12:30:52
0001 #ifndef RPIX_DUMMY_ROC_SIMULATION_H
0002 #define RPIX_DUMMY_ROC_SIMULATION_H
0003
0004 #include <set>
0005
0006 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0007
0008 #include "DataFormats/CTPPSDigi/interface/CTPPSPixelDigi.h"
0009 #include "DataFormats/CTPPSDigi/interface/CTPPSPixelDigiCollection.h"
0010 #include "CondFormats/PPSObjects/interface/CTPPSPixelGainCalibrations.h"
0011 #include "CondFormats/PPSObjects/interface/CTPPSPixelAnalysisMask.h"
0012
0013 class RPixDummyROCSimulator {
0014 public:
0015 RPixDummyROCSimulator(const edm::ParameterSet ¶ms, uint32_t det_id);
0016
0017 void ConvertChargeToHits(const std::map<unsigned short, double> &signals,
0018 std::map<unsigned short, std::vector<std::pair<int, double> > > &theSignalProvenance,
0019 std::vector<CTPPSPixelDigi> &output_digi,
0020 std::vector<std::vector<std::pair<int, double> > > &output_digi_links,
0021 const CTPPSPixelGainCalibrations *pcalibration);
0022
0023 private:
0024 typedef std::set<unsigned short> dead_pixel_set;
0025 static constexpr double highRangeCal_ = 1800.;
0026 static constexpr double lowRangeCal_ = 260.;
0027 static constexpr int maxADC_ = 255;
0028
0029 uint32_t det_id_;
0030 double dead_pixel_probability_;
0031 bool dead_pixels_simulation_on_;
0032 dead_pixel_set dead_pixels_;
0033 int verbosity_;
0034 double threshold_;
0035 double electron_per_adc_;
0036 int VcaltoElectronGain_;
0037 int VcaltoElectronOffset_;
0038 bool doSingleCalibration_;
0039 bool links_persistence_;
0040 };
0041
0042 #endif