File indexing completed on 2023-10-25 10:05:05
0001 #ifndef Tracker_SiTrivialInduceChargeOnStrips_H
0002 #define Tracker_SiTrivialInduceChargeOnStrips_H
0003
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005 #include "SiInduceChargeOnStrips.h"
0006
0007 class TrackerTopology;
0008
0009 class SiTrivialInduceChargeOnStrips : public SiInduceChargeOnStrips {
0010 public:
0011 SiTrivialInduceChargeOnStrips(const edm::ParameterSet& conf, double g);
0012 ~SiTrivialInduceChargeOnStrips() override {}
0013 void induce(const SiChargeCollectionDrifter::collection_type& collection_points,
0014 const StripGeomDetUnit& det,
0015 std::vector<float>& localAmplitudes,
0016 size_t& recordMinAffectedStrip,
0017 size_t& recordMaxAffectedStrip,
0018 const TrackerTopology* tTopo) const override;
0019
0020 private:
0021 void induceOriginal(const SiChargeCollectionDrifter::collection_type& collection_points,
0022 const StripGeomDetUnit& det,
0023 std::vector<float>& localAmplitudes,
0024 size_t& recordMinAffectedStrip,
0025 size_t& recordMaxAffectedStrip,
0026 const TrackerTopology* tTopo) const;
0027
0028 void induceVector(const SiChargeCollectionDrifter::collection_type& collection_points,
0029 const StripGeomDetUnit& det,
0030 std::vector<float>& localAmplitudes,
0031 size_t& recordMinAffectedStrip,
0032 size_t& recordMaxAffectedStrip,
0033 const TrackerTopology* tTopo) const;
0034
0035 const std::vector<std::vector<float> > signalCoupling;
0036
0037 const float Nsigma;
0038 const float geVperElectron;
0039 };
0040
0041 #endif