CMS 3D CMS Logo

TauolaWrapper.h
Go to the documentation of this file.
1 #ifndef gen_ExternalDecays_TauolaWrapper_h
2 #define gen_ExternalDecays_TauolaWrapper_h
3 
4 /********** TauolaWrapper
5  *
6  * Wrapper to Fortran functions in TAUOLA tau decay library
7  *
8  * Christian Veelken
9  * 04/17/07
10  *
11  * Modified to contain access to individual decays (COMMON TAUBRA), and
12  * force polarization like in case of particle gun taus (SUBROUTINE DEXAY
13  * and COMMON MOMDEC)
14  * 23.2.2009/S.Lehti
15  *
16  * Modified to remove everything related to pythia6 or pretauola;
17  * all pythia6-related functionalities and/or ties are moving back
18  * to Pythia6Interface;
19  * the concept will ensure transparent use of Tauola with ANY
20  * multi-purpose generator
21  * J.V.Yarba, Feb.26, 2009
22  *
23  ***************************************/
24 
25 //
26 //-------------------------------------------------------------------------------
27 //
28 
29 // main function(s) of TAUOLA/pretauola tau decay library
30 
31 extern "C" {
32  void tauola_(int*, int*);
33  void tauola_srs_(int*,int*);
34  void taurep_(int*);
35  void ranmar_(float*,int*);
36  void rmarin_(int*, int*, int*);
37 }
38 #define tauola tauola_
39 
40 void inline call_tauola (int mode, int polarization) { tauola(&mode, &polarization); }
41 
42 extern "C" {
43  extern void dexay_(int*, float[4]);
44 }
45 #define dexay dexay_
46 
47 void inline call_dexay (int mode, float polarization[4]) { dexay(&mode, polarization); }
48 
49 //
50 //-------------------------------------------------------------------------------
51 //
52 
53 // common block with steering parameters for CMS specific Fortran interface to TAUOLA
54 
55 extern "C" {
56  extern struct {
57  int pjak1;
58  int pjak2;
59  int mdtau;
60  } ki_taumod_;
61 }
62 #define ki_taumod ki_taumod_
63 
64 extern "C" {
65  extern struct {
66  int jak1;
67  int jak2;
68  int itdkrc;
69  int ifphot;
70  int ifhadm;
71  int ifhadp;
72  } libra_ ;
73 }
74 #define libra libra_
75 
76 extern "C" {
77  extern struct {
78  float gamprt[30];
79  int jlist[30];
80  int nchan;
81  } taubra_;
82 }
83 #define taubra taubra_
84 
85 extern "C" {
86  extern struct {
87  double q1[4];
88  double q2[4];
89  double p1[4];
90  double p2[4];
91  double p3[4];
92  double p4[4];
93  } momdec_;
94 }
95 #define momdec momdec_
96 
97 extern "C" {
98  extern struct {
99  int np1;
100  int np2;
101  } taupos_;
102 }
103 #define taupos taupos_
104 
105 #endif
#define tauola
Definition: TauolaWrapper.h:38
void dexay_(int *, float[4])
struct @671 ki_taumod_
int pjak2
Definition: TauolaWrapper.h:58
int np1
Definition: TauolaWrapper.h:99
int jlist[30]
Definition: TauolaWrapper.h:79
void call_dexay(int mode, float polarization[4])
Definition: TauolaWrapper.h:47
int pjak1
Definition: TauolaWrapper.h:57
int ifphot
Definition: TauolaWrapper.h:69
struct @673 taubra_
double q2[4]
Definition: TauolaWrapper.h:88
struct @672 libra_
float gamprt[30]
Definition: TauolaWrapper.h:78
void call_tauola(int mode, int polarization)
Definition: TauolaWrapper.h:40
int jak2
Definition: TauolaWrapper.h:67
struct @675 taupos_
int nchan
Definition: TauolaWrapper.h:80
#define dexay
Definition: TauolaWrapper.h:45
void tauola_srs_(int *, int *)
double p4[4]
Definition: TauolaWrapper.h:92
void taurep_(int *)
void ranmar_(float *, int *)
void rmarin_(int *, int *, int *)
double p2[4]
Definition: TauolaWrapper.h:90
int itdkrc
Definition: TauolaWrapper.h:68
int ifhadm
Definition: TauolaWrapper.h:70
int np2
double q1[4]
Definition: TauolaWrapper.h:87
int ifhadp
Definition: TauolaWrapper.h:71
struct @674 momdec_
double p1[4]
Definition: TauolaWrapper.h:89
void tauola_(int *, int *)
int jak1
Definition: TauolaWrapper.h:66
int mdtau
Definition: TauolaWrapper.h:59
double p3[4]
Definition: TauolaWrapper.h:91