CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/src/SimMuon/GEMDigitizer/src/GEMDigitizer.h

Go to the documentation of this file.
00001 #ifndef SimMuon_GEMDigitizer_h
00002 #define SimMuon_GEMDigitizer_h
00003 
00011 #include "DataFormats/Common/interface/DetSetVector.h"
00012 #include "SimDataFormats/TrackerDigiSimLink/interface/StripDigiSimLink.h"
00013 #include "SimDataFormats/TrackingHit/interface/PSimHit.h"
00014 #include "DataFormats/GEMDigi/interface/GEMDigiCollection.h"
00015 #include "SimDataFormats/CrossingFrame/interface/MixCollection.h"
00016 #include <string>
00017 #include "CLHEP/Random/RandomEngine.h"
00018 
00019 namespace edm{
00020   class ParameterSet;
00021 }
00022 
00023 class GEMEtaPartition;
00024 class GEMSim;
00025 class GEMSimSetUp;
00026 class GEMGeometry;
00027 
00028 class GEMDigitizer
00029 {
00030 public:
00031   
00032   typedef edm::DetSetVector<StripDigiSimLink> StripDigiSimLinks;
00033 
00034   GEMDigitizer(const edm::ParameterSet& config, CLHEP::HepRandomEngine&);
00035 
00036   ~GEMDigitizer();
00037 
00038   void digitize(MixCollection<PSimHit> & simHits,
00039                 GEMDigiCollection & rpcDigis,
00040                 StripDigiSimLinks & digiSimLinks);
00041 
00043   void setGeometry(const GEMGeometry *geom) {geometry_ = geom;}
00044 
00045   void setGEMSimSetUp(GEMSimSetUp *simsetup) {simSetUp_ = simsetup;}
00046 
00047   GEMSimSetUp* getGEMSimSetUp() { return simSetUp_; }
00048   
00050   const GEMEtaPartition * findDet(int detId) const;
00051 
00052 private:
00053 
00054   const GEMGeometry * geometry_;
00055   GEMSim* gemSim_;
00056   GEMSimSetUp * simSetUp_;
00057   std::string modelName_;
00058 };
00059 
00060 #endif