Back to home page

Project CMSSW displayed by LXR

 
 

    


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 &params, 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