Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef SimPPS_RPDigiProducer_RP_HIT_CHARGE_CONVERTER_H
0002 #define SimPPS_RPDigiProducer_RP_HIT_CHARGE_CONVERTER_H
0003 
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005 #include "SimDataFormats/TrackingHit/interface/PSimHit.h"
0006 #include "SimPPS/RPDigiProducer/plugins/RPLinearChargeCollectionDrifter.h"
0007 #include "SimPPS/RPDigiProducer/plugins/RPLinearChargeDivider.h"
0008 #include "SimPPS/RPDigiProducer/plugins/RPLinearInduceChargeOnStrips.h"
0009 #include "SimPPS/RPDigiProducer/interface/RPSimTypes.h"
0010 
0011 #include <map>
0012 
0013 class RPHitChargeConverter {
0014 public:
0015   RPHitChargeConverter(const edm::ParameterSet &params_, CLHEP::HepRandomEngine &eng, RPDetId det_id);
0016   ~RPHitChargeConverter();
0017 
0018   simromanpot::strip_charge_map processHit(const PSimHit &hit);
0019 
0020 private:
0021   const RPDetId det_id_;
0022 
0023   std::unique_ptr<RPLinearChargeDivider> theRPChargeDivider;
0024   std::unique_ptr<RPLinearChargeCollectionDrifter> theRPChargeCollectionDrifter;
0025   std::unique_ptr<RPLinearInduceChargeOnStrips> theRPInduceChargeOnStrips;
0026   int verbosity_;
0027 };
0028 
0029 #endif  //SimPPS_RPDigiProducer_RP_HIT_CHARGE_CONVERTER_H