CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/FastSimulation/EventProducer/interface/FamosManager.h

Go to the documentation of this file.
00001 #ifndef FastSimulation_EventProducer_FamosManager_H
00002 #define FastSimulation_EventProducer_FamosManager_H
00003 
00004 #include "DataFormats/HepMCCandidate/interface/GenParticleFwd.h"
00005 
00006 #include <string>
00007 
00008 namespace HepMC {
00009   class GenEvent;
00010 }
00011 
00012 namespace edm { 
00013   class ParameterSet;
00014   class EventSetup;
00015   class Run;
00016 }
00017 
00018 class FSimEvent;
00019 class TrajectoryManager;
00020 class PileUpSimulator;
00021 class MagneticField;
00022 class CalorimetryManager;
00023 class RandomEngine;
00024 
00025 // using trailing _ for private data members, m_p prefix for PSet variables (MSt)
00026 
00027 class FamosManager
00028 {
00029  public:
00030 
00031 
00033   FamosManager(edm::ParameterSet const & p);
00034 
00036   ~FamosManager();
00037 
00039   void setupGeometryAndField(edm::Run & run, const edm::EventSetup & es);
00040 
00042   //  const HepMC::GenEvent* genEvent() const { return myGenEvent; };
00043   //  const reco::CandidateCollection*
00044 
00046   FSimEvent* simEvent() const { return mySimEvent; }
00047 
00049   void reconstruct(const HepMC::GenEvent* evt, 
00050                    const reco::GenParticleCollection* particles,
00051                    const HepMC::GenEvent* pu);
00052 
00054   TrajectoryManager * trackerManager() const {return myTrajectoryManager;}
00055 
00057   CalorimetryManager * calorimetryManager() const {return myCalorimetry;}
00058 
00059   
00060  private:   
00061 
00062   int iEvent;
00063   //  const HepMC::GenEvent* myGenEvent;
00064   FSimEvent* mySimEvent;
00065   TrajectoryManager* myTrajectoryManager;
00066   PileUpSimulator* myPileUpSimulator;
00067   CalorimetryManager * myCalorimetry;
00068 
00069  private:
00070 
00071   bool m_pUseMagneticField;
00072   bool m_Tracking;
00073   bool m_Calorimetry;
00074   bool m_Alignment;
00075   double weight_;    
00076   int m_pRunNumber;
00077   int m_pVerbose;
00078 
00079  private:
00080 
00081   const RandomEngine* random;
00082 
00083 };
00084                        
00085 #endif