CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CSCStripConditions.h
Go to the documentation of this file.
1 #ifndef CSCDigitizer_CSCStripConditions_h
2 #define CSCDigitizer_CSCStripConditions_h
3 
8 #include "CLHEP/Random/RandGaussQ.h"
9 
10 
12 {
13 public:
17 
18  virtual ~CSCStripConditions();
19 
20  void setRandomEngine(CLHEP::HepRandomEngine& engine);
21 
23  void noisify(const CSCDetId & detId, CSCAnalogSignal & signal);
24 
25  virtual void initializeEvent(const edm::EventSetup & es) {}
26 
29  virtual float gain(const CSCDetId & detId, int channel) const = 0;
30  virtual float gainSigma(const CSCDetId & detId, int channel) const = 0;
31  virtual float smearedGain(const CSCDetId & detId, int channel) const;
32 
34  virtual float pedestal(const CSCDetId & detId, int channel) const = 0;
35  virtual float pedestalSigma(const CSCDetId & detId, int channel) const = 0;
36 
38  float analogNoise(const CSCDetId & detId, int channel) const;
39 
40  virtual void crosstalk(const CSCDetId&detId, int channel,
41  double stripLength, bool leftRight,
42  float & capacitive, float & resistive) const = 0;
43 
45  virtual bool isInBadChamber( const CSCDetId& id ) const { return false; }
46 
47 protected:
48  virtual void fetchNoisifier(const CSCDetId & detId, int istrip) = 0;
49 
51  CLHEP::RandGaussQ * theRandGaussQ;
52 };
53 
54 #endif
55 
adds noise to the given frame.
Definition: EcalCoder.h:11
virtual float pedestalSigma(const CSCDetId &detId, int channel) const =0
virtual float pedestal(const CSCDetId &detId, int channel) const =0
in ADC counts
float analogNoise(const CSCDetId &detId, int channel) const
calculated from pedestalSigma & gain
void setRandomEngine(CLHEP::HepRandomEngine &engine)
virtual void crosstalk(const CSCDetId &detId, int channel, double stripLength, bool leftRight, float &capacitive, float &resistive) const =0
virtual void fetchNoisifier(const CSCDetId &detId, int istrip)=0
void noisify(const CSCDetId &detId, CSCAnalogSignal &signal)
superimposes noise, in fC, on the signal
virtual void initializeEvent(const edm::EventSetup &es)
math::ErrorD< 8 >::type CSCCorrelatedNoiseMatrix
ROOT::Math::SMatrix< double, N, N, ROOT::Math::MatRepSym< double, N > > type
Definition: Error.h:17
virtual float gain(const CSCDetId &detId, int channel) const =0
virtual float gainSigma(const CSCDetId &detId, int channel) const =0
virtual float smearedGain(const CSCDetId &detId, int channel) const
CLHEP::RandGaussQ * theRandGaussQ
CSCCorrelatedNoisifier * theNoisifier
CorrelatedNoisifier< CSCCorrelatedNoiseMatrix > CSCCorrelatedNoisifier
virtual bool isInBadChamber(const CSCDetId &id) const
is supplied layer/chamber flagged as bad? (default impl. is no)