PhotosEvent.h
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 
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
virtual vector< PhotosParticle * > getParticleList()=0
vector< PhotosParticle * > filterParticles(vector< PhotosParticle * > particles)
Definition: PhotosEvent.cxx:32
vector< PhotosBranch * > m_branch_points
Definition: PhotosEvent.h:44
virtual void print()=0