CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_9/src/SimTracker/SiStripDigitizer/interface/SiStripDigitizer.h

Go to the documentation of this file.
00001 
00007 #ifndef SiStripDigitizer_h
00008 #define SiStripDigitizer_h
00009 
00010 #include "boost/shared_ptr.hpp"
00011 
00012 #include "FWCore/Framework/interface/EDProducer.h"
00013 #include "FWCore/Framework/interface/Event.h"
00014 #include "DataFormats/Common/interface/Handle.h"
00015 #include "FWCore/Framework/interface/EventSetup.h"
00016 
00017 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00018 
00019 #include "Geometry/CommonDetUnit/interface/GeomDetType.h"
00020 
00021 #include "SimDataFormats/CrossingFrame/interface/MixCollection.h"
00022 #include "SimTracker/SiStripDigitizer/interface/SiStripDigitizerAlgorithm.h"
00023 
00024 #include "SimTracker/Common/interface/SimHitSelectorFromDB.h"
00025 
00026 #include <string>
00027 #include <vector>
00028 #include <map>
00029 
00030 namespace CLHEP {
00031   class HepRandomEngine;
00032 }
00033 
00034 class SiStripDigitizer : public edm::EDProducer
00035 {
00036 public:
00037   
00038   explicit SiStripDigitizer(const edm::ParameterSet& conf);
00039   
00040   virtual ~SiStripDigitizer();
00041   
00042   virtual void produce(edm::Event& e, const edm::EventSetup& c);
00043   
00044 private:
00045   typedef std::vector<std::string> vstring;
00046   typedef std::map<unsigned int, std::vector<std::pair<const PSimHit*, int> >,std::less<unsigned int> > simhit_map;
00047   typedef simhit_map::iterator simhit_map_iterator;
00048 
00049   SiStripDigitizerAlgorithm * theDigiAlgo;
00050   SiStripFedZeroSuppression* theSiFEDZeroSuppress;
00051   std::map<uint32_t, std::vector<int> > theDetIdList;
00052   SimHitSelectorFromDB SimHitSelectorFromDB_;
00053   std::vector<edm::DetSet<SiStripDigi> > theDigiVector;
00054   std::vector<edm::DetSet<SiStripRawDigi> > theRawDigiVector;
00055   std::vector<edm::DetSet<StripDigiSimLink> > theDigiLinkVector;
00056   edm::ParameterSet conf_;
00057   vstring trackerContainers;
00058   simhit_map SimHitMap;
00059   int numStrips;    // number of strips in the module
00060   CLHEP::HepRandomEngine* rndEngine;
00061   std::string geometryType;
00062   std::string alias;
00063   bool zeroSuppression;
00064   bool useConfFromDB;
00065 };
00066 
00067 #endif