ROOTPWA
fortranRoutines.h
Go to the documentation of this file.
1 //
2 // collection of definitions for external Fortran routines
3 //
4 
5 
6 #ifndef FORTRANROUTINES_HH
7 #define FORTRANROUTINES_HH
8 
9 
10 #include <complex>
11 
12 
13 #ifdef __cplusplus
14 extern "C" {
15 
16  // various Breit-Wigner parametrizations taken from Dima's program
17  // Blatt-Weisskopf barrier factor
18  void blwa_(float* f, // square of Blatt-Weisskopf barrier factor
19  float* p, // q * r dimensionless breakup momentum
20  int* l); // relative orbital angular momentum of decay daughters
21 
22  // Breit-Wigner with mass-dependent width
23  void bwl_(std::complex<float>* bw, // calculated amplitude
24  int* l, // relative orbital angular momentum of decay daughters
25  float* w, // di-meson mass [GeV/c^2]
26  float* w0, // nominal resonance mass [GeV/c^2]
27  float* g0, // nominal resonance width [GeV/c^2]
28  float* p, // di-meson breakup momentum [GeV/c]
29  float* p0, // nominal di-meson breakup momentum [GeV/c]
30  float* rval); // interaction radius [fm^{-1}]
31 
32  // s-wave Breit-Wigner with constant width
33  void bws_(std::complex<float>* bw, // calculated amplitude
34  float* w, // di-meson mass [GeV/c^2]
35  float* w0, // nominal resonance mass [GeV/c^2]
36  float* g0); // nominal resonance width [GeV/c^2]
37 
38  // rho(770) Breit-Wigner
39  void bwrhoo_(std::complex<float>* bw, // calculated amplitude
40  float* w, // di-meson mass [GeV/c^2]
41  float* w0, // nominal resonance mass [GeV/c^2]
42  float* g0); // nominal resonance width [GeV/c^2]
43 
44  // f_0(980) Breit-Wigner
45  void bwf0_(std::complex<float>* bw, // calculated amplitude
46  float* w, // di-meson mass [GeV/c^2]
47  float* w0, // nominal resonance mass [GeV/c^2]
48  float* g0); // nominal resonance width [GeV/c^2]
49 
50  // a_0(980) Flatte
51  void bwf0_(std::complex<float>* bw, // calculated amplitude
52  float* w, // di-meson mass [GeV/c^2]
53  float* x1, // not used
54  float* x2, // not used
55  float* x3); // not used
56 
57 
58  // various parametrizations of the pi pi s-wave taken from Dima's program
59  // author I. A. Kachaev (IHEP, Protvino)
60  // based on PRD 35, 1633 (1987)
61  //
62  // K1-solution
63  void epsk1_(std::complex<float>* bw, // calculated amplitude
64  float* w, // di-meson mass [GeV/c^2]
65  int* n, // switch between pi pi (1) and K K (2) final state
66  float* alfa); // mixing coefficient; usually 0
67 
68  // K1'-solution
69  void epsk1p_(std::complex<float>* bw, // calculated amplitude
70  float* w, // di-meson mass [GeV/c^2]
71  int* n, // switch between pi pi (1) and K K (2) final state
72  float* alfa); // mixing coefficient; usually 0
73 
74  // M-solution
75  void epsm_(std::complex<float>* bw, // calculated amplitude
76  float* w, // di-meson mass [GeV/c^2]
77  int* n, // switch between pi pi (1) and K K (2) final state
78  float* alfa); // mixing coefficient; usually 0
79 
80  // M-solution with f_0(980) removed
81  void epsmx_(std::complex<float>* bw, // calculated amplitude
82  float* w, // di-meson mass [GeV/c^2]
83  int* n, // switch between pi pi (1) and K K (2) final state
84  float* alfa); // mixing coefficient; usually 0
85 
86 }
87 #endif // __cplusplus
88 
89 
90 #endif // FORTRANROUTINES_HH