]>
Commit | Line | Data |
---|---|---|
0ca57c2f | 1 | #ifndef _PH_HEPEVT_Interface_included_ |
2 | #define _PH_HEPEVT_Interface_included_ | |
3 | ||
4 | #include <vector> | |
5 | #include "PhotosBranch.h" | |
6 | #include "PhotosParticle.h" | |
7 | #include "f_Init.h" | |
8 | ||
9 | namespace Photospp | |
10 | { | |
11 | // const static int NMXHEP = 10000; at present NMXHEP is defined in f_Init.h | |
12 | const static double NO_BOOST_THRESHOLD=1.0e-8; | |
13 | ||
14 | class PH_HEPEVT_Interface | |
15 | { | |
16 | public: | |
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(); | |
34 | public: | |
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; | |
39 | private: | |
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 |