CMS 3D CMS Logo

MuonSimHitProducer.h

Go to the documentation of this file.
00001 #ifndef FastSimulation_MuonSimHitProducer_MuonSimHitProducer_h
00002 #define FastSimulation_MuonSimHitProducer_MuonSimHitProducer_h
00003 
00004 //
00005 // Package:    MuonSimHitProducer
00006 // Class:      MuonSimHitProducer
00007 // 
00015 //
00016 //  Author:  Martijn Mulders
00017 // Created:  Wed July 11 12:37:24 CET 2007
00018 // $Id: MuonSimHitProducer.h,v 1.7 2008/06/06 18:16:38 pjanot Exp $
00019 //
00020 
00021 
00022 // system include files
00023 #include <memory>
00024 
00025 // user include files
00026 #include "FWCore/Framework/interface/EDProducer.h"
00027 
00028 // FastSimulation headers
00029 class MuonTrajectoryUpdator;
00030 class RandomEngine;
00031 class MagneticField;
00032 class TrackerGeometry;
00033 class DTGeometry;
00034 class CSCGeometry;
00035 class RPCGeometry;
00036 class MuonServiceProxy;
00037 class MaterialEffects;
00038 class TrajectoryStateOnSurface;
00039 class Propagator;
00040 
00041 /*
00042 namespace reco { 
00043   class Muon;
00044 }
00045 */
00046 
00047 namespace edm { 
00048   class ParameterSet;
00049   class Event;
00050   class EventSetup;
00051 }
00052 
00053 //
00054 // class declaration
00055 //
00056 
00057 class MuonSimHitProducer : public edm::EDProducer {
00058    public:
00059 
00060       explicit MuonSimHitProducer(const edm::ParameterSet&);
00061       ~MuonSimHitProducer();
00062 
00063    private:
00064 
00065       const RandomEngine * random;
00066       MuonServiceProxy *theService;
00067       MuonTrajectoryUpdator *theUpdator;
00068 
00069       const MagneticField*  magfield;
00070       const DTGeometry*     dtGeom;
00071       const CSCGeometry*    cscGeom;
00072       const RPCGeometry*    rpcGeom;
00073       const Propagator*     propagatorWithMaterial;
00074             Propagator* propagatorWithoutMaterial;
00075 
00076       MaterialEffects* theMaterialEffects;
00077   
00078       virtual void beginRun(edm::Run & run, const edm::EventSetup & es);
00079       virtual void produce(edm::Event&, const edm::EventSetup&);
00080       virtual void endJob() ;
00081       void readParameters(const edm::ParameterSet&, 
00082                           const edm::ParameterSet&,
00083                           const edm::ParameterSet& );
00084 
00086       void applyMaterialEffects(TrajectoryStateOnSurface& tsosWithdEdx,
00087                                 TrajectoryStateOnSurface& tsos,
00088                                 double radPath);
00089 
00090           
00091   // ----------- parameters ---------------------------- 
00092       bool fullPattern_;
00093       bool doL1_ , doL3_ , doGL_;
00094       std::string theSimModuleLabel_ , theSimModuleProcess_, theTrkModuleLabel_ ;
00095       double minEta_ ,  maxEta_;
00096 };
00097 
00098 #endif

Generated on Tue Jun 9 17:35:10 2009 for CMSSW by  doxygen 1.5.4