PhotosHepMC3Event.h
1 #ifndef _PhotosHepMC3Event_h_included_
2 #define _PhotosHepMC3Event_h_included_
3 
4 /**
5  * @class PhotosHepMC3Event
6  *
7  * @brief Interface to GenEvent objects
8  *
9  * This class implements the virtual methods of
10  * PhotosEvent. In this way it provides an
11  * interface between the generic PhotosEvent class
12  * and a GenEvent object.
13  *
14  * @date 26 Jan 2020
15  *
16  * This code is licensed under GNU General Public Licence.
17  * For more informations, see: http://www.gnu.org/licenses/
18  */
19 
20 #include <vector>
21 #include "HepMC3/GenEvent.h"
22 #include "PhotosEvent.h"
23 #include "PhotosParticle.h"
24 
25 namespace Photospp
26 {
27 using namespace HepMC3;
29 {
30 public:
32 
33  /** Constructor which keeps a pointer to the GenEvent*/
34  PhotosHepMC3Event(GenEvent * event);
35 
36  /** Returns the GenEvent */
37  GenEvent * getEvent();
38 
39  /** Returns the list of particles */
40  std::vector<PhotosParticle*> getParticleList();
41 
42  /** Prints event summary */
43  void print();
44 private:
45  /** The event */
46  GenEvent * m_event;
47  /** Particle list */
48  std::vector<PhotosParticle *> particles;
49 };
50 
51 } // namespace Photospp
52 #endif
std::vector< PhotosParticle * > particles