Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef _PhotosHepMC3Event_h_included_
0002 #define _PhotosHepMC3Event_h_included_
0003 
0004 /**
0005  * @class PhotosHepMC3Event
0006  *
0007  * @brief Interface to 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 GenEvent object.
0013  *
0014  * @date 26 Jan 2020
0015  *
0016  * This code is licensed under GNU General Public Licence.
0017  * For more informations, see: http://www.gnu.org/licenses/
0018  */
0019 
0020 #include <vector>
0021 #include "HepMC3/GenEvent.h"
0022 #include "PhotosEvent.h"
0023 #include "PhotosParticle.h"
0024 
0025 namespace Photospp
0026 {
0027 using namespace HepMC3;
0028 class PhotosHepMC3Event : public PhotosEvent
0029 {
0030 public:
0031         ~PhotosHepMC3Event();
0032 
0033         /** Constructor which keeps a pointer to the GenEvent*/
0034         PhotosHepMC3Event(GenEvent * event);
0035 
0036         /** Returns the GenEvent */
0037         GenEvent * getEvent();
0038 
0039         /** Returns the list of particles */
0040         std::vector<PhotosParticle*> getParticleList();
0041 
0042         /** Prints event summary */
0043         void print();
0044 private:
0045         /** The event */
0046         GenEvent * m_event;
0047         /** Particle list */
0048         std::vector<PhotosParticle *> particles;
0049 };
0050 
0051 } // namespace Photospp
0052 #endif