]>
Commit | Line | Data |
---|---|---|
0ca57c2f | 1 | #ifndef _PhotosEvent_h_included_ |
2 | #define _PhotosEvent_h_included_ | |
3 | ||
4 | /** | |
5 | * @class PhotosEvent | |
6 | * | |
7 | * @brief Abstract base class for containing the event information. | |
8 | * | |
9 | * PhotosEvent contains virtual methods, which need to be implemented | |
10 | * by the appropriate interface class to the event record. An object of | |
11 | * PhotosEvent type should be created by the user and processed | |
12 | * via the process() method. | |
13 | * | |
14 | * @author Nadia Davidson | |
15 | * @date 16 June 2008 | |
16 | */ | |
17 | ||
18 | #include <vector> | |
19 | #include "PhotosBranch.h" | |
20 | #include "PhotosParticle.h" | |
21 | using std::vector; | |
22 | ||
23 | namespace Photospp | |
24 | { | |
25 | ||
26 | class PhotosEvent | |
27 | { | |
28 | public: | |
29 | virtual ~PhotosEvent(); | |
30 | ||
31 | /** Get an unfiltered list of particles from the event record */ | |
32 | virtual vector<PhotosParticle*> getParticleList() = 0; | |
33 | ||
34 | /** Print informations about the event */ | |
35 | virtual void print() = 0; | |
36 | ||
37 | /** Process event */ | |
38 | void process(); | |
39 | private: | |
40 | /** Filter suppressed and invalid particles. */ | |
41 | vector<PhotosParticle *> filterParticles(vector<PhotosParticle *> particles); | |
42 | ||
43 | /** branch points which should be given to PHOTOS */ | |
44 | vector<PhotosBranch *> m_branch_points; | |
45 | }; | |
46 | ||
47 | } // namespace Photospp | |
48 | #endif |