![]() |
![]() |
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