CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_1/src/SimMuon/CSCDigitizer/src/CSCConfigurableStripConditions.h

Go to the documentation of this file.
00001 #ifndef CSCDigitizer_CSCConfigurableStripConditions_h
00002 #define CSCDigitizer_CSCConfigurableStripConditions_h
00003 
00004 #include "SimMuon/CSCDigitizer/src/CSCStripConditions.h"
00005 #include "SimGeneral/NoiseGenerators/interface/CorrelatedNoisifier.h"
00006 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00007 
00008 class CSCConfigurableStripConditions : public CSCStripConditions
00009 {
00010 public:
00011   CSCConfigurableStripConditions(const edm::ParameterSet & p);
00012   virtual ~CSCConfigurableStripConditions();
00013 
00015   virtual float gain(const CSCDetId & detId, int channel) const;
00016   virtual float gainSigma(const CSCDetId & detId, int channel) const {return theGainSigma;}
00017 
00019   virtual float pedestal(const CSCDetId & detId, int channel) const {return thePedestal;}
00020   virtual float pedestalSigma(const CSCDetId & detId, int channel) const {return thePedestalSigma;}
00021 
00022   virtual void crosstalk(const CSCDetId&detId, int channel,
00023                  double stripLength, bool leftRight,
00024                  float & capacitive, float & resistive) const;
00025 
00026 private:
00027   virtual void fetchNoisifier(const CSCDetId & detId, int istrip);
00028   void makeNoisifier(int chamberType, const std::vector<double> & correlations);
00029   std::vector<CSCCorrelatedNoisifier *> theNoisifiers;
00030 
00031   float theGain;
00032   float theME11Gain;
00033   float theGainSigma;
00034   float thePedestal;
00035   float thePedestalSigma;
00036   // proportional to slope of neighboring signal, per cm of strip length
00037   float theCapacitiveCrosstalk;
00038   // proportional to neighboring signal
00039   float theResistiveCrosstalk;
00040 };
00041 
00042 #endif
00043 
00044