]>
Commit | Line | Data |
---|---|---|
0ca57c2f | 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 "f_Init.h" | |
20 | #include "PhotosEvent.h" | |
21 | #include "PhotosParticle.h" | |
22 | #include "PhotosHEPEVTParticle.h" | |
23 | ||
24 | namespace Photospp | |
25 | { | |
26 | ||
27 | class PhotosHEPEVTParticle; | |
28 | ||
29 | class PhotosHEPEVTEvent : public PhotosEvent { | |
30 | ||
31 | public: | |
32 | ||
33 | /** Default destructor */ | |
34 | ~PhotosHEPEVTEvent(); | |
35 | ||
36 | /** Default constructor */ | |
37 | PhotosHEPEVTEvent(); | |
38 | ||
39 | /** Add particle at the end of event record */ | |
40 | void addParticle(PhotosHEPEVTParticle *p); | |
41 | ||
42 | /** Get particle at index 'i' */ | |
43 | PhotosHEPEVTParticle *getParticle(int i); | |
44 | ||
45 | /** Set particle at index 'i' */ | |
46 | void setParticle(int i, PhotosHEPEVTParticle *p); | |
47 | ||
48 | /** Get higher-most index of the particles in event (nhep) */ | |
49 | int getParticleCount(); | |
50 | ||
51 | /** Get an unfiltered list of particles from the event record */ | |
52 | std::vector<PhotosParticle*> getParticleList(); | |
53 | ||
54 | /** Print out list of particles in the event */ | |
55 | void print(); | |
56 | ||
57 | /** Remove all particles from the event */ | |
58 | void clear(); | |
59 | ||
60 | /** Fill PhotosHEPEVTEvent from HEPEVT common block */ | |
61 | static void read_event_from_HEPEVT(PhotosHEPEVTEvent *evt); | |
62 | ||
63 | /** Write to HEPEVT common block content of PhotosHEPEVTEvent */ | |
64 | static void write_event_to_HEPEVT(PhotosHEPEVTEvent *evt); | |
65 | ||
66 | private: | |
67 | ||
68 | /** List of all particles */ | |
69 | std::vector<PhotosHEPEVTParticle*> particle_list; | |
70 | }; | |
71 | ||
72 | } // namespace Photospp | |
73 | #endif | |
74 |