CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_9/src/FastSimulation/TrackingRecHitProducer/interface/SiClusterTranslator.h

Go to the documentation of this file.
00001 #ifndef FastSimulation_TrackingRecHitProducer_SiClusterTranslator_h
00002 #define FastSimulation_TrackingRecHitProducer_SiClusterTranslator_h
00003 
00004 //---------------------------------------------------------------------------
00011 //---------------------------------------------------------------------------
00012 
00013 // Framework
00014 #include "FWCore/Framework/interface/EDProducer.h"
00015 
00016 // Data Formats
00017 #include "FastSimDataFormats/External/interface/FastTrackerClusterCollection.h"
00018 //Strip and Pixel Cluster Collection
00019 #include "DataFormats/SiStripCluster/interface/SiStripClusterCollection.h"
00020 #include "DataFormats/SiPixelCluster/interface/SiPixelCluster.h"
00021 #include "SimDataFormats/TrackerDigiSimLink/interface/StripDigiSimLink.h"
00022 #include "SimDataFormats/TrackerDigiSimLink/interface/PixelDigiSimLink.h"
00023 #include "SimDataFormats/TrackingHit/interface/PSimHit.h"
00024 #include "DataFormats/Common/interface/DetSet.h"
00025 
00026 class TrackerGeometry;
00027 class DetId;
00028 
00029 namespace edm { 
00030   class ParameterSet;
00031   class Event;
00032   class EventSetup;
00033 }
00034 
00035 class SiClusterTranslator : public edm::EDProducer
00036 {
00037  public:
00038   //--- Constructor, virtual destructor (just in case)
00039   explicit SiClusterTranslator(const edm::ParameterSet& conf);
00040   virtual ~SiClusterTranslator();
00041   
00042   //--- The top-level event method.
00043   virtual void produce(edm::Event& e, const edm::EventSetup& c);
00044   
00045   // Begin Job
00046   virtual void beginRun(edm::Run & run, const edm::EventSetup & es);
00047   
00048  private:
00049   std::vector<edm::DetSet<StripDigiSimLink> > theStripDigiLinkVector;
00050   std::vector<edm::DetSet<PixelDigiSimLink> > thePixelDigiLinkVector;
00051   std::vector<std::pair<PSimHit, int > > theNewSimHitList;
00052   void loadPixelClusters(std::map<DetId,std::vector<SiPixelCluster> >& theClusters,
00053                          SiPixelClusterCollectionNew& theClusterCollection) const;
00054   void loadStripClusters(std::map<DetId,std::vector<SiStripCluster> >& theClusters,
00055                          edmNew::DetSetVector<SiStripCluster>& theClusterCollection) const; 
00056   
00057   
00058   const TrackerGeometry* geometry;
00059 };
00060 
00061 
00062 #endif