CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/EventFilter/SiStripRawToDigi/interface/SiStripRawToClustersLazyUnpacker.h

Go to the documentation of this file.
00001 #ifndef EventFilter_SiStripRawToDigi_SiStripRawToClustersLazyUnpacker_H
00002 #define EventFilter_SiStripRawToDigi_SiStripRawToClustersLazyUnpacker_H
00003 
00004 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00005 #include "DataFormats/Common/interface/LazyGetter.h"
00006 #include "DataFormats/SiStripCluster/interface/SiStripCluster.h"
00007 #include "DataFormats/FEDRawData/interface/FEDRawDataCollection.h"
00008 #include "DataFormats/SiStripCommon/interface/SiStripConstants.h"
00009 #include "CalibFormats/SiStripObjects/interface/SiStripRegionCabling.h"
00010 #include "RecoLocalTracker/SiStripClusterizer/interface/StripClusterizerAlgorithm.h"
00011 #include "RecoLocalTracker/SiStripZeroSuppression/interface/SiStripRawProcessingAlgorithms.h"
00012 #include "EventFilter/SiStripRawToDigi/interface/SiStripRawToDigiUnpacker.h"
00013 #include "EventFilter/SiStripRawToDigi/interface/SiStripFEDBuffer.h"
00014 #include <vector>
00015 #include <list>
00016 
00017 
00018 namespace sistrip {
00019  
00020   class RawToClustersLazyUnpacker : public edm::LazyUnpacker<SiStripCluster> {
00021     
00022   public:
00023     
00024     typedef edm::DetSet<SiStripCluster> DetSet;
00025     
00026     RawToClustersLazyUnpacker(const SiStripRegionCabling&, StripClusterizerAlgorithm&, SiStripRawProcessingAlgorithms&, const FEDRawDataCollection&, bool = false); 
00027     
00028     virtual ~RawToClustersLazyUnpacker();
00029     
00030     virtual void fill(const uint32_t&, record_type&); 
00031     
00032   private:
00033     
00035     RawToClustersLazyUnpacker();
00036     
00038     const FEDRawDataCollection* raw_;
00039     
00041     const SiStripRegionCabling::Cabling* regions_;
00042     
00044     StripClusterizerAlgorithm* const clusterizer_;
00045     
00047     SiStripRawProcessingAlgorithms* const rawAlgos_;
00048     
00050     std::vector< sistrip::FEDBuffer* > buffers_;
00051     
00053     RawToDigiUnpacker rawToDigi_;
00054     
00056     bool dump_;
00057     
00058   };
00059   
00060 }
00061 
00062 #endif ///  EventFilter_SiStripRawToDigi_SiStripRawToClustersLazyUnpacker_H