Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-27 09:20:26

0001 #ifndef _PhotosEvent_h_included_
0002 #define _PhotosEvent_h_included_
0003 
0004 /**
0005  * @class PhotosEvent
0006  *
0007  * @brief Abstract base class for containing the event information.
0008  *
0009  * PhotosEvent contains virtual methods, which need to be implemented
0010  * by the appropriate interface class to the event record. An object of
0011  * PhotosEvent type should be created by the user and processed
0012  * via the process() method.
0013  *
0014  * @author Nadia Davidson
0015  * @date 16 June 2008
0016  */
0017 
0018 #include <vector>
0019 #include "PhotosBranch.h"
0020 #include "PhotosParticle.h"
0021 using std::vector;
0022 
0023 namespace Photospp
0024 {
0025 
0026 class PhotosEvent
0027 {
0028 public:
0029     virtual ~PhotosEvent();
0030 
0031     /** Get an unfiltered list of particles from the event record */
0032     virtual vector<PhotosParticle*> getParticleList() = 0;
0033 
0034     /** Print informations about the event */
0035     virtual void print() = 0;
0036 
0037     /** Process event */
0038     void process();
0039 private:
0040     /** Filter suppressed and invalid particles. */
0041     vector<PhotosParticle *> filterParticles(vector<PhotosParticle *> particles);
0042 
0043     /** branch points which should be given to PHOTOS */
0044     vector<PhotosBranch *> m_branch_points;
0045 };
0046 
0047 } // namespace Photospp
0048 #endif