]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TEvtGen/Photos/PhotosEvent.h
Updates EvtGen Code
[u/mrichter/AliRoot.git] / TEvtGen / Photos / 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
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