00001 #ifndef McGenEvent_H 00002 #define McGenEvent_H 00003 #include <vector> 00004 #include "GaudiKernel/ContainedObject.h" 00005 #include "GaudiKernel/ObjectVector.h" 00006 #include "EventModel/EventModel.h" 00007 #include "HepMC/GenEvent.h" 00008 00009 extern const CLID& CLID_GenEvent; 00010 using namespace EventModel; 00011 using namespace HepMC; 00012 00013 /* 00014 * 00015 */ 00016 00017 class McGenEvent : virtual public ContainedObject{ 00018 public: 00019 // Constructor 00020 McGenEvent(GenEvent* evt); 00021 00022 // Destructor 00023 virtual ~McGenEvent(); 00024 00025 // Public accessors: 00026 std::string generatorName() const; 00027 00028 GenEvent* getGenEvt() const; 00029 00030 // Retrieve reference to class definition structure 00031 virtual const CLID& clID() const { return McGenEvent::classID(); } 00032 static const CLID& classID() { return CLID_GenEvent; } 00033 00034 private: 00035 std::string m_generatorName; 00036 GenEvent* m_pEvt; 00037 }; 00038 00039 typedef ObjectVector<McGenEvent> McGenEventCol; 00040 00041 #endif