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
00037 float theCapacitiveCrosstalk;
00038
00039 float theResistiveCrosstalk;
00040 };
00041
00042 #endif
00043
00044