33extern "C" void simple_tau_hepevt_event_();
34extern "C" void phodmp_();
35extern "C" struct HEPEVT hepevt_;
38void add_particle(
int id,
int status,
double px,
double py,
double pz,
double e,
double m,
39 int mother1,
int mother2,
int daughter1,
int daughter2) {
40 int idx = HEPEVT_Wrapper::number_entries()+1;
41 HEPEVT_Wrapper::set_number_entries(idx);
43 HEPEVT_Wrapper::set_status(idx, status);
44 HEPEVT_Wrapper::set_id(idx,
id);
45 HEPEVT_Wrapper::set_parents(idx, mother1, mother2);
46 HEPEVT_Wrapper::set_children(idx, daughter1, daughter2);
47 HEPEVT_Wrapper::set_momentum(idx, px, py, pz ,e);
48 HEPEVT_Wrapper::set_mass(idx, m);
69void simple_tau_hepevt_event_cpp() {
71 HEPEVT_Wrapper::zero_everything();
72 HEPEVT_Wrapper::set_event_number(1);
74 add_particle( 11, 6, 1.7763568394002505e-15, -3.5565894425761324e-15, 4.5521681043409913e+01, 4.5521681043409934e+01,
75 0.0005111e0, 0, 0, 3, 3);
76 add_particle( -11, 6, -1.7763568394002505e-15, 3.5488352204797800e-15, -4.5584999071936601e+01, 4.5584999071936622e+01,
77 0.0005111e0, 0, 0, 3, 3);
78 add_particle( 23, 5, 0e0, 0e0, -6.3318028526687442e-02, 9.1106680115346506e+01,
79 9.1106658112716090e+01, 1, 2, 4, 5);
80 add_particle( 15, 2, -2.3191595992562256e+01, -2.6310500920665142e+01, -2.9046412466624929e+01, 4.5573504956498098e+01,
81 1.7769900000002097e+00, 3, 0, 6, 7);
82 add_particle( -15, 2, 2.3191595992562256e+01, 2.6310500920665142e+01, 2.8983094438098242e+01, 4.5533175158848429e+01,
83 1.7769900000000818e+00, 3, 0, 8, 9);
84 add_particle( 16, 1, -1.2566536214715378e+00, -1.7970251138317268e+00, -1.3801323581022720e+00, 2.5910119010468553e+00,
85 9.9872238934040070e-03, 4, 0, 0, 0);
86 add_particle(-211, 1, -2.1935073012334062e+01, -2.4513624017269400e+01, -2.7666443730700312e+01, 4.2982749776866747e+01,
87 1.3956783711910248e-01, 4, 0, 0, 0);
88 add_particle( -16, 1, 8.4364531743909055e+00, 8.3202830831667836e+00, 9.6202800273055971e+00, 1.5262723881157640e+01,
89 9.9829332903027534e-03, 5, 0, 0, 0);
90 add_particle( 211, 1, 1.4755273459419701e+01, 1.7990366047940022e+01, 1.9362977676297948e+01, 3.0270707771933196e+01,
91 1.3956753909587860e-01, 5, 0, 0, 0);
96 std::cout << std::endl <<
"HEPEVT wrapper example - FORTRAN EVENT" << std::endl;
97 std::cout <<
"--------------------------------------" << std::endl;
99 HEPEVT_Wrapper::set_hepevt_address((
char*)(&hepevt_));
101 simple_tau_hepevt_event_();
103 std::cout << std::endl <<
"FORTRAN PRINTOUT" << std::endl << std::endl;
106 std::cout << std::endl <<
"C++ PRINTOUT" << std::endl << std::endl;
107 HEPEVT_Wrapper::print_hepevt();
109 std::cout << std::endl <<
"HEPEVT wrapper example - C++ EVENT" << std::endl;
110 std::cout <<
"----------------------------------" << std::endl;
112 simple_tau_hepevt_event_cpp();
114 std::cout << std::endl <<
"FORTRAN PRINTOUT" << std::endl << std::endl;
117 std::cout << std::endl <<
"C++ PRINTOUT" << std::endl << std::endl;
118 HEPEVT_Wrapper::print_hepevt();
Definition of class HEPEVT_Wrapper.
int main(int argc, char **argv)
Fortran common block HEPEVT.