include/Photos/HEPEVT_struct.h
1#ifndef _HEPEVT_struct_included_
2#define _HEPEVT_struct_included_
3
4#include <vector>
5#include "PhotosBranch.h"
6#include "PhotosParticle.h"
7#include "photosC.h"
8
9namespace Photospp
10{
11 // const static int NMXHEP = 10000; at present NMXHEP is defined in photosC.h
12const static double NO_BOOST_THRESHOLD=1.0e-8;
13
14class HEPEVT_struct
15{
16public:
17 /** Convert PhotosBranch to HEPEVT */
18 static int set(PhotosBranch* branch);
19
20 /** Update event record with data from HEPEVT */
21 static void get();
22
23 /** Prepare particles for processing */
24 static void prepare();
25
26 /** Check channel for complete matrix element calculation */
27 static void check_ME_channel();
28
29 /** Finalize processing */
30 static void complete();
31
32 /** Clear HEPEVT */
33 static void clear();
34public:
35 /** Index of decaying particle*/
36 static int decay_idx;
37 /** Number of channel to be used - flag for fortran routines */
38 static int ME_channel;
39private:
40 /** Add single particle to HEPEVT */
41 static void add_particle(int i, PhotosParticle * particle,
42 int first_mother, int last_mother,
43 int first_daughter, int last_daughter);
44
45 /** List of particles added to HEPEVT */
46 static std::vector<PhotosParticle*> m_particle_list;
47};
48
49} // namespace Photospp
50#endif
static std::vector< PhotosParticle * > m_particle_list
static void add_particle(int i, PhotosParticle *particle, int first_mother, int last_mother, int first_daughter, int last_daughter)
static int set(PhotosBranch *branch)