CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch12/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 "DataFormats/Common/interface/EDProduct.h"
00018 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00019 
00020 #include "Geometry/CommonDetUnit/interface/GeomDetType.h"
00021 
00022 #include "SimDataFormats/CrossingFrame/interface/MixCollection.h"
00023 #include "SimTracker/SiStripDigitizer/interface/SiStripDigitizerAlgorithm.h"
00024 
00025 #include "SimTracker/Common/interface/SimHitSelectorFromDB.h"
00026 
00027 #include <string>
00028 #include <vector>
00029 #include <map>
00030 
00031 namespace CLHEP {
00032   class HepRandomEngine;
00033 }
00034 
00035 class SiStripDigitizer : public edm::EDProducer
00036 {
00037 public:
00038   
00039   explicit SiStripDigitizer(const edm::ParameterSet& conf);
00040   
00041   virtual ~SiStripDigitizer();
00042   
00043   virtual void produce(edm::Event& e, const edm::EventSetup& c);
00044   
00045 private:
00046   typedef std::vector<std::string> vstring;
00047   typedef std::map<unsigned int, std::vector<std::pair<const PSimHit*, int> >,std::less<unsigned int> > simhit_map;
00048   typedef simhit_map::iterator simhit_map_iterator;
00049 
00050   SiStripDigitizerAlgorithm * theDigiAlgo;
00051   SiStripFedZeroSuppression* theSiFEDZeroSuppress;
00052   std::map<uint32_t, std::vector<int> > theDetIdList;
00053   SimHitSelectorFromDB SimHitSelectorFromDB_;
00054   std::vector<edm::DetSet<SiStripDigi> > theDigiVector;
00055   std::vector<edm::DetSet<SiStripRawDigi> > theRawDigiVector;
00056   std::vector<edm::DetSet<StripDigiSimLink> > theDigiLinkVector;
00057   edm::ParameterSet conf_;
00058   vstring trackerContainers;
00059   simhit_map SimHitMap;
00060   int numStrips;    // number of strips in the module
00061   CLHEP::HepRandomEngine* rndEngine;
00062   std::string geometryType;
00063   std::string alias;
00064   bool zeroSuppression;
00065   bool useConfFromDB;
00066 };
00067 
00068 #endif