Go to the documentation of this file.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 TrackerTopology;
00008
00009 class SiTrivialInduceChargeOnStrips: public SiInduceChargeOnStrips {
00010 public:
00012 SiTrivialInduceChargeOnStrips(const edm::ParameterSet& conf,double g);
00013 virtual ~SiTrivialInduceChargeOnStrips() {}
00015 void induce(const SiChargeCollectionDrifter::collection_type& collection_points,
00016 const StripGeomDetUnit& det,
00017 std::vector<double>& localAmplitudes,
00018 size_t& recordMinAffectedStrip,
00019 size_t& recordMaxAffectedStrip,
00020 const TrackerTopology *tTopo) const;
00021
00022 private:
00024 double chargeDeposited(size_t strip,
00025 size_t Nstrips,
00026 double amplitude,
00027 double chargeSpread,
00028 double chargePosition) const;
00030 static unsigned int typeOf(const StripGeomDetUnit&, const TrackerTopology *tTopo);
00032 static unsigned int indexOf(const std::string&);
00033 static const std::string type[];
00034 static const int Ntypes;
00035 const std::vector<std::vector<double> > signalCoupling;
00036
00037 const double Nsigma;
00038 const double geVperElectron;
00039 };
00040
00041 #endif