PhotosHEPEVTEvent.h
1 #ifndef _PhotosHEPEVTEvent_h_included_
2 #define _PhotosHEPEVTEvent_h_included_
3 
4 /**
5  * @class PhotosHEPEVTParticle
6  *
7  * @brief Single particle of HEPEVT event record
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 information stored in HEPEVT event record.
13  *
14  * @author Tomasz Przedzinski
15  * @date 24 November 2011
16  */
17 
18 #include <iostream>
19 #include "PhotosEvent.h"
20 #include "PhotosParticle.h"
21 #include "PhotosHEPEVTParticle.h"
22 
23 namespace Photospp
24 {
25 
27 
29 
30  public:
31 
32  /** Default destructor */
34 
35  /** Default constructor */
37 
38  /** Add particle at the end of event record */
40 
41  /** Get particle at index 'i' */
43 
44  /** Set particle at index 'i' */
45  void setParticle(int i, PhotosHEPEVTParticle *p);
46 
47  /** Get higher-most index of the particles in event (nhep) */
48  int getParticleCount();
49 
50  /** Get an unfiltered list of particles from the event record */
51  std::vector<PhotosParticle*> getParticleList();
52 
53  /** Print out list of particles in the event */
54  void print();
55 
56  /** Remove all particles from the event */
57  void clear();
58 
59  /** Fill PhotosHEPEVTEvent from HEPEVT common block */
60  static void read_event_from_HEPEVT(PhotosHEPEVTEvent *evt);
61 
62  /** Write to HEPEVT common block content of PhotosHEPEVTEvent */
63  static void write_event_to_HEPEVT(PhotosHEPEVTEvent *evt);
64 
65  private:
66 
67  /** List of all particles */
68  std::vector<PhotosHEPEVTParticle*> particle_list;
69 };
70 
71 } // namespace Photospp
72 #endif
73 
static void write_event_to_HEPEVT(PhotosHEPEVTEvent *evt)
PhotosHEPEVTParticle * getParticle(int i)
std::vector< PhotosHEPEVTParticle * > particle_list
static void read_event_from_HEPEVT(PhotosHEPEVTEvent *evt)
void setParticle(int i, PhotosHEPEVTParticle *p)
std::vector< PhotosParticle * > getParticleList()
void addParticle(PhotosHEPEVTParticle *p)
Single particle of HEPEVT event record.