CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10/src/SimCalorimetry/EcalSimAlgos/interface/EcalTDigitizer.h

Go to the documentation of this file.
00001 #ifndef EcalSimAlgos_EcalTDigitizer_h
00002 #define EcalSimAlgos_EcalTDigitizer_h
00003 
00009 #include "SimDataFormats/CrossingFrame/interface/MixCollection.h"
00010 #include "SimDataFormats/CaloHit/interface/PCaloHit.h"
00011 #include "DataFormats/DetId/interface/DetId.h"
00012 #include "CalibFormats/CaloObjects/interface/CaloTSamplesBase.h"
00013 
00014 class EcalHitResponse ;
00015 
00016 template< class Traits >
00017 class EcalTDigitizer
00018 {
00019    public:
00020 
00021       typedef typename Traits::ElectronicsSim ElectronicsSim ;
00022       typedef typename Traits::Digi           Digi           ;
00023       typedef typename Traits::DigiCollection DigiCollection ;
00024       typedef typename Traits::EcalSamples    EcalSamples    ;
00025 
00026       EcalTDigitizer< Traits >( EcalHitResponse* hitResponse    ,
00027                                 ElectronicsSim*  electronicsSim ,
00028                                 bool             addNoise         ) ;
00029 
00030       virtual ~EcalTDigitizer< Traits >() ;
00031 
00032       virtual void run( MixCollection<PCaloHit>& input ,
00033                         DigiCollection&          output  ) ;
00034 
00035    protected:
00036 
00037       bool addNoise() const ;
00038 
00039       const EcalHitResponse* hitResponse() const ;
00040 
00041       const ElectronicsSim* elecSim() const ;
00042 
00043    private:
00044 
00045       EcalHitResponse* m_hitResponse    ;
00046       ElectronicsSim*  m_electronicsSim ;
00047       bool             m_addNoise       ;
00048 };
00049 
00050 #endif
00051