CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_9/src/SimCalorimetry/EcalTestBeam/interface/EcalTBDigiProducer.h

Go to the documentation of this file.
00001 #ifndef ECALTBDIGIPRODUCER_H
00002 #define ECALTBDIGIPRODUCER_H
00003 
00004 #include "SimCalorimetry/EcalSimProducers/interface/EcalDigiProducer.h"
00005 #include "Geometry/CaloTopology/interface/EcalTrigTowerConstituentsMap.h"
00006 #include "SimCalorimetry/EcalTestBeamAlgos/interface/EcalTBReadout.h"
00007 #include "RecoTBCalo/EcalTBTDCReconstructor/interface/EcalTBTDCRecInfoAlgo.h"
00008 #include "TBDataFormats/EcalTBObjects/interface/EcalTBTDCRawInfo.h"
00009 
00010 class EcalTBDigiProducer : public EcalDigiProducer
00011 {
00012    public:
00013 
00014       EcalTBDigiProducer( const edm::ParameterSet& params ) ;
00015       virtual ~EcalTBDigiProducer() ;
00016 
00018       virtual void produce( edm::Event&            event ,
00019                             const edm::EventSetup& eventSetup ) ;
00020 
00021       virtual void cacheEBDigis( const EBDigiCollection* ebDigiPtr ) const ;
00022       virtual void cacheEEDigis( const EEDigiCollection* eeDigiPtr ) const ; 
00023 
00024    private:
00025 
00026       void setPhaseShift( const DetId& detId ) ;
00027 
00028       void fillTBTDCRawInfo( EcalTBTDCRawInfo& theTBTDCRawInfo ) ;
00029 
00030       const EcalTrigTowerConstituentsMap m_theTTmap        ;
00031       EcalTBReadout*                     m_theTBReadout    ;
00032 
00033       std::string m_ecalTBInfoLabel ;
00034       std::string m_EBdigiFinalTag  ;
00035       std::string m_EBdigiTempTag   ;
00036 
00037       bool   m_doPhaseShift   ;
00038       double m_thisPhaseShift ;
00039 
00040       bool   m_doReadout      ;
00041 
00042       std::vector<EcalTBTDCRecInfoAlgo::EcalTBTDCRanges> m_tdcRanges ;
00043       bool   m_use2004OffsetConvention ;
00044       
00045       double m_tunePhaseShift ;
00046 
00047       mutable std::auto_ptr<EBDigiCollection> m_ebDigis ;
00048       mutable std::auto_ptr<EEDigiCollection> m_eeDigis ;
00049 };
00050 
00051 #endif