src/eventRecordInterfaces/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
23namespace 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' */
46
47 /** Get higher-most index of the particles in event (nhep) */
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 */
61
62 /** Write to HEPEVT common block content of PhotosHEPEVTEvent */
64
65 private:
66
67 /** List of all particles */
68 std::vector<PhotosHEPEVTParticle*> particle_list;
69};
70
71} // namespace Photospp
72#endif
73
void addParticle(PhotosHEPEVTParticle *p)
PhotosHEPEVTParticle * getParticle(int i)
std::vector< PhotosHEPEVTParticle * > particle_list
std::vector< PhotosParticle * > getParticleList()
static void read_event_from_HEPEVT(PhotosHEPEVTEvent *evt)
static void write_event_to_HEPEVT(PhotosHEPEVTEvent *evt)
void setParticle(int i, PhotosHEPEVTParticle *p)