CMS 3D CMS Logo

HcalElectronicsSim.h

Go to the documentation of this file.
00001 #ifndef HcalSimAlgos_HcalElectronicsSim_h
00002 #define HcalSimAlgos_HcalElectronicsSim_h
00003   
00008 #include "CalibFormats/CaloObjects/interface/CaloSamples.h"
00009 #include "CLHEP/Random/RandFlat.h"
00010 
00011 class HBHEDataFrame;
00012 class HODataFrame;
00013 class HFDataFrame;
00014 class ZDCDataFrame;
00015 
00016 class HcalAmplifier;
00017 class HcalCoderFactory;
00018 
00019 class HcalElectronicsSim {
00020 public:
00021   HcalElectronicsSim(HcalAmplifier * amplifier, 
00022                      const HcalCoderFactory * coderFactory);
00023   ~HcalElectronicsSim();
00024 
00025   void setRandomEngine(CLHEP::HepRandomEngine & engine);
00026 
00027   void analogToDigital(CaloSamples & linearFrame, HBHEDataFrame & result);
00028   void analogToDigital(CaloSamples & linearFrame, HODataFrame & result);
00029   void analogToDigital(CaloSamples & linearFrame, HFDataFrame & result);
00030   void analogToDigital(CaloSamples & linearFrame, ZDCDataFrame & result);
00031 
00033   void newEvent();
00034 
00035 private:
00036   template<class Digi> void convert(CaloSamples & frame, Digi & result);
00037 
00038   HcalAmplifier * theAmplifier;
00039   const HcalCoderFactory * theCoderFactory;
00040   CLHEP::RandFlat * theRandFlat;
00041 
00042   int theStartingCapId;
00043 };
00044 
00045   
00046 #endif
00047   

Generated on Tue Jun 9 17:46:22 2009 for CMSSW by  doxygen 1.5.4