00001 #ifndef SimDataFormats_GenHIEvent_h 00002 #define SimDataFormats_GenHIEvent_h 00003 00004 #include "SimDataFormats/HiGenData/interface/SubEvent.h" 00005 #include "DataFormats/Candidate/interface/CandidateFwd.h" 00006 #include "HepMC/GenVertex.h" 00007 #include "HepMC/GenEvent.h" 00008 00009 namespace edm { 00010 00011 class GenHIEvent { 00012 public: 00013 GenHIEvent() : evts_(0), sel_(0) {} 00014 GenHIEvent(std::vector<SubEvent> evs , int x = 0) : evts_(evs), sel_(x) {} 00015 virtual ~GenHIEvent() {} 00016 SubEvent getSubEvent(int sub_id) const; 00017 std::vector<HepMC::GenParticle*> getParticles(const HepMC::GenEvent& evt, int sub_id) const; 00018 const HepMC::GenVertex* getVertex(const HepMC::GenEvent& evt, int sub_id) const; 00019 int getNsubs() const {return evts_.size();} 00020 00021 private: 00022 std::vector<SubEvent> evts_; 00023 int sel_; 00024 }; 00025 } 00026 #endif