Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:30:52

0001 #ifndef SimPPS_PPSPixelDigiProducer_RPix_HIT_CHARGE_CONVERTER_H
0002 #define SimPPS_PPSPixelDigiProducer_RPix_HIT_CHARGE_CONVERTER_H
0003 
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005 #include "SimPPS/PPSPixelDigiProducer/interface/RPixLinearChargeCollectionDrifter.h"
0006 #include "SimPPS/PPSPixelDigiProducer/interface/RPixLinearChargeDivider.h"
0007 #include "SimPPS/PPSPixelDigiProducer/interface/RPixChargeShare.h"
0008 #include "CondFormats/PPSObjects/interface/PPSPixelTopology.h"
0009 
0010 class RPixHitChargeConverter {
0011 public:
0012   RPixHitChargeConverter(const edm::ParameterSet &params_,
0013                          CLHEP::HepRandomEngine &eng,
0014                          uint32_t det_id,
0015                          const PPSPixelTopology &ppt);
0016   ~RPixHitChargeConverter() = default;
0017 
0018   std::map<unsigned short, double> processHit(const PSimHit &hit, const PPSPixelTopology &ppt);
0019 
0020 private:
0021   const uint32_t det_id_;
0022   std::unique_ptr<RPixLinearChargeDivider> theRPixChargeDivider;
0023   std::unique_ptr<RPixLinearChargeCollectionDrifter> theRPixChargeCollectionDrifter;
0024   std::unique_ptr<RPixChargeShare> theRPixChargeShare;
0025   int verbosity_;
0026 };
0027 
0028 #endif