CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2_patch1/src/SimCalorimetry/EcalSimAlgos/interface/ESElectronicsSimFast.h

Go to the documentation of this file.
00001 #ifndef EcalSimAlgos_ESElectronicsSimFast_h
00002 #define EcalSimAlgos_ESElectronicsSimFast_h 1
00003 
00004 #include "CalibFormats/CaloObjects/interface/CaloTSamples.h"
00005 #include "DataFormats/EcalDigi/interface/ESDataFrame.h"
00006 #include "DataFormats/EcalDigi/interface/ESSample.h"
00007 #include "CondFormats/ESObjects/interface/ESPedestals.h"
00008 #include "CondFormats/ESObjects/interface/ESIntercalibConstants.h"
00009 
00010 #include <vector>
00011 
00012 namespace CLHEP {
00013    class RandGaussQ ; } 
00014 
00015 class ESElectronicsSimFast
00016 {
00017    public:
00018 
00019       typedef CaloTSamples<float,3> ESSamples ;
00020 
00021       enum { MAXADC = 4095,
00022              MINADC =    0 } ;
00023   
00024       ESElectronicsSimFast( bool addNoise ) ;
00025       ~ESElectronicsSimFast() ;
00026 
00027       void setPedestals( const ESPedestals* peds ) ;
00028 
00029       void setMIPs( const ESIntercalibConstants* mips ) ;
00030 
00031       void setMIPToGeV( double MIPToGeV ) ;
00032 
00033       void analogToDigital( ESSamples&   cs , 
00034                             ESDataFrame& df ,
00035                             bool         isNoise = false ) const ;
00036 
00037       void newEvent() {}
00038 
00039    private :
00040 
00041       bool m_addNoise ;
00042 
00043       double m_MIPToGeV ;
00044 
00045       const ESPedestals* m_peds ;
00046 
00047       const ESIntercalibConstants* m_mips ;
00048 
00049       CLHEP::RandGaussQ* m_ranGau ;
00050 } ;
00051 
00052 
00053 #endif