CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/FastSimulation/Event/interface/FSimEvent.h

Go to the documentation of this file.
00001 #ifndef FastSimulation_Event_FSimEvent_H
00002 #define FastSimulation_Event_FSimEvent_H
00003 
00004 // CMSSW Headers
00005 #include "DataFormats/Provenance/interface/EventID.h"
00006 #include "DataFormats/HepMCCandidate/interface/GenParticleFwd.h"
00007 #include "SimDataFormats/Track/interface/SimTrackContainer.h"
00008 #include "SimDataFormats/Vertex/interface/SimVertexContainer.h"
00009 
00010 // FAMOS Headers
00011 #include "FastSimulation/Event/interface/FBaseSimEvent.h"
00012  
00029 class RandomEngine;
00030 
00031 class FSimEvent : public FBaseSimEvent {
00032 
00033 public:
00034 
00036   FSimEvent(const edm::ParameterSet& kine);
00037 
00038   FSimEvent(const edm::ParameterSet& vtx,
00039             const edm::ParameterSet& kine,
00040             const RandomEngine* engine);
00041 
00043   virtual ~FSimEvent();
00044 
00046   void fill(const HepMC::GenEvent & hev, edm::EventID & Id);
00047 
00049   void fill(const reco::GenParticleCollection & parts, edm::EventID & Id);
00050 
00052   void fill(const std::vector<SimTrack>& simTracks, 
00053           const std::vector<SimVertex>& simVertices);
00054 
00056   edm::EventID id() const;
00057 
00059   float weight() const;
00060     
00062   unsigned int nTracks() const;
00064   unsigned int nVertices() const;
00066   unsigned int nGenParts() const;
00067 
00069   void load(edm::SimTrackContainer & c, edm::SimTrackContainer & m) const;
00070   void load(edm::SimVertexContainer & c) const;
00071   void load(FSimVertexTypeCollection & c) const;
00072 
00073 private:
00074 
00075   edm::EventID id_;
00076   double weight_;
00077 
00078 };
00079 
00080 #endif // FSIMEVENT_H