Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef _HEPEVT_struct_included_
0002 #define _HEPEVT_struct_included_
0003 
0004 #include <vector>
0005 #include "PhotosBranch.h"
0006 #include "PhotosParticle.h"
0007 #include "photosC.h"
0008 
0009 namespace Photospp
0010 {
0011   // const static int NMXHEP = 10000; at present NMXHEP is defined in photosC.h
0012 const static double NO_BOOST_THRESHOLD=1.0e-8;
0013 
0014 class HEPEVT_struct
0015 {
0016 public:
0017     /** Convert PhotosBranch to HEPEVT */
0018     static int  set(PhotosBranch* branch);
0019 
0020     /** Update event record with data from HEPEVT */
0021     static void get();
0022 
0023     /** Prepare particles for processing */
0024     static void prepare();
0025 
0026     /** Check channel for complete matrix element calculation */
0027     static void check_ME_channel();
0028 
0029     /** Finalize processing */
0030     static void complete();
0031 
0032     /** Clear HEPEVT */
0033     static void clear();
0034 public:
0035     /** Index of decaying particle*/
0036     static int decay_idx;
0037     /** Number of channel to be used - flag for fortran routines */
0038     static int ME_channel;
0039 private:
0040     /** Add single particle to HEPEVT */
0041     static void add_particle(int i, PhotosParticle * particle,
0042                              int first_mother, int last_mother,
0043                              int first_daughter, int last_daughter);
0044 
0045     /** List of particles added to HEPEVT */
0046     static std::vector<PhotosParticle*> m_particle_list;
0047 };
0048 
0049 } // namespace Photospp
0050 #endif