CMS 3D CMS Logo

/afs/cern.ch/work/c/cnuttens/private/SiStripDev/DocumentationProduction/CMSSW_6_1_0/src/SimTracker/SiStripDigitizer/plugins/SiTrivialInduceChargeOnStrips.h

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