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 ¶ms_,
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