Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-27 09:20:26

0001 #ifndef _PhotosHepMCEvent_h_included_
0002 #define _PhotosHepMCEvent_h_included_
0003 
0004 /**
0005  * @class PhotosHepMCEvent
0006  *
0007  * @brief Interface to HepMC::GenEvent objects
0008  *
0009  * This class implements the virtual methods of
0010  * PhotosEvent. In this way it provides an
0011  * interface between the generic PhotosEvent class
0012  * and a HepMC::GenEvent object.
0013  *
0014  * @author Nadia Davidson
0015  * @date 17 June 2008
0016  *
0017  * This code is licensed under GNU General Public Licence.
0018  * For more informations, see: http://www.gnu.org/licenses/
0019  */
0020 
0021 #include <vector>
0022 #include "HepMC/GenEvent.h"
0023 #include "PhotosEvent.h"
0024 #include "PhotosParticle.h"
0025 
0026 namespace Photospp
0027 {
0028 
0029 class PhotosHepMCEvent : public PhotosEvent
0030 {
0031 public:
0032     ~PhotosHepMCEvent();
0033 
0034     /** Constructor which keeps a pointer to the HepMC::GenEvent*/
0035     PhotosHepMCEvent(HepMC::GenEvent * event);
0036 
0037     /** Returns the HepMC::GenEvent */
0038     HepMC::GenEvent * getEvent();
0039 
0040     /** Returns the list of particles */
0041     std::vector<PhotosParticle*> getParticleList();
0042 
0043     /** Prints event summary */
0044     void print();
0045 private:
0046     /** The event */
0047     HepMC::GenEvent * m_event;
0048     /** Particle list */
0049     std::vector<PhotosParticle *> particles;
0050 };
0051 
0052 } // namespace Photospp
0053 #endif