00001 #ifndef Tracker_SiTrivialInduceChargeOnStrips_H 00002 #define Tracker_SiTrivialInduceChargeOnStrips_H 00003 00004 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00005 #include "SiInduceChargeOnStrips.h" 00006 00007 class SiTrivialInduceChargeOnStrips: public SiInduceChargeOnStrips { 00008 public: 00009 SiTrivialInduceChargeOnStrips(const edm::ParameterSet& conf,double g); 00010 virtual ~SiTrivialInduceChargeOnStrips() {} 00011 void induce(const SiChargeCollectionDrifter::collection_type& collection_points, 00012 const StripGeomDetUnit& det, 00013 std::vector<double>& localAmplitudes, 00014 size_t& recordMinAffectedStrip, 00015 size_t& recordMaxAffectedStrip) const; 00016 00017 private: 00018 double chargeDeposited(size_t strip, 00019 size_t Nstrips, 00020 double amplitude, 00021 double chargeSpread, 00022 double chargePosition) const; 00023 static unsigned int typeOf(const StripGeomDetUnit&); 00024 static unsigned int indexOf(const std::string&); 00025 static const std::string type[]; 00026 static const int Ntypes; 00027 const std::vector<std::vector<double> > signalCoupling; 00028 00029 const double Nsigma; 00030 const double geVperElectron; 00031 }; 00032 00033 #endif