CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/SimMuon/RPCDigitizer/src/RPCDigitizer.h

Go to the documentation of this file.
00001 #ifndef SimMuon_RPCDigitizer_h
00002 #define SimMuon_RPCDigitizer_h
00003 // 
00004 
00011 #include "DataFormats/Common/interface/DetSetVector.h"
00012 #include "SimDataFormats/TrackerDigiSimLink/interface/StripDigiSimLink.h"
00013 #include "SimDataFormats/RPCDigiSimLink/interface/RPCDigiSimLink.h"
00014 #include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h"
00015 #include "DataFormats/RPCDigi/interface/RPCDigiCollection.h"
00016 #include "Geometry/RPCGeometry/interface/RPCGeometry.h"
00017 #include "SimDataFormats/CrossingFrame/interface/MixCollection.h"
00018 #include <string>
00019 #include "CLHEP/Random/RandomEngine.h"
00020 
00021 namespace edm{
00022   class ParameterSet;
00023 }
00024 
00025 class RPCRoll;
00026 class RPCSim;
00027 class RPCSimSetUp;
00028 class RPCDigitizer
00029 {
00030 public:
00031   typedef edm::DetSetVector<RPCDigiSimLink> RPCDigiSimLinks;
00032   RPCDigitizer(const edm::ParameterSet& config, CLHEP::HepRandomEngine&);
00033 
00034   ~RPCDigitizer();
00035 
00038   void doAction(MixCollection<PSimHit> & simHits,
00039                 RPCDigiCollection & rpcDigis,
00040                 RPCDigiSimLinks & rpcDigiSimLink);
00041 
00042 
00044   void setGeometry(const RPCGeometry * geom) {theGeometry = geom;}
00045 
00046   void setRPCSimSetUp(RPCSimSetUp *simsetup){theSimSetUp = simsetup;}
00047 
00048   RPCSimSetUp* getRPCSimSetUp(){ return theSimSetUp; }
00049   
00051   const RPCRoll * findDet(int detId) const;
00052 
00053 private:
00054   const RPCGeometry * theGeometry;
00055   RPCSim* theRPCSim;
00056   RPCSimSetUp * theSimSetUp;
00057   std::string theName;
00058 
00059 };
00060 
00061 #endif
00062