CMS 3D CMS Logo

CSCStripConditions.h
Go to the documentation of this file.
1 #ifndef CSCDigitizer_CSCStripConditions_h
2 #define CSCDigitizer_CSCStripConditions_h
3 
8 
9 namespace CLHEP {
10  class HepRandomEngine;
11 }
12 
14 {
15 public:
19 
20  virtual ~CSCStripConditions();
21 
23  void noisify(const CSCDetId & detId, CSCAnalogSignal & signal, CLHEP::HepRandomEngine*);
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, CLHEP::HepRandomEngine*) 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 
50  CSCCorrelatedNoisifier * theNoisifier;
51 };
52 
53 #endif
54 
adds noise to the given frame.
Definition: EcalCoder.h:11
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:21
CSCCorrelatedNoisifier * theNoisifier
CorrelatedNoisifier< CSCCorrelatedNoiseMatrix > CSCCorrelatedNoisifier
virtual bool isInBadChamber(const CSCDetId &id) const
is supplied layer/chamber flagged as bad? (default impl. is no)