CMS 3D CMS Logo

TauolaWrapper.h

Go to the documentation of this file.
00001 #ifndef GeneratorInterface_CommonInterface_TauolaWrapper_h
00002 #define GeneratorInterface_CommonInterface_TauolaWrapper_h
00003 
00004 /********** TauolaWrapper
00005  *
00006  * Wrapper to Fortran functions in TAUOLA tau decay library
00007  *
00008  * Christian Veelken
00009  *  04/17/07
00010  *
00011  ***************************************/
00012 
00013 //
00014 //-------------------------------------------------------------------------------
00015 //
00016 
00017 // main function of TAUOLA tau decay library
00018 
00019 extern "C" {
00020   void tauola_(int*, int*);
00021 }
00022 #define tauola tauola_ 
00023 
00024 void inline call_tauola (int mode, int polarization) { tauola(&mode, &polarization); }
00025 
00026 //
00027 //-------------------------------------------------------------------------------
00028 //
00029 
00030 // common block with steering parameters for CMS specific Fortran interface to TAUOLA
00031 
00032 extern "C" {
00033   extern struct {
00034     int pjak1;
00035     int pjak2;
00036     int mdtau;
00037   } ki_taumod_;
00038 }
00039 #define ki_taumod ki_taumod_
00040 
00041 extern "C" {
00042    extern struct {
00043      int jak1;
00044      int jak2;
00045      int itdkrc; 
00046      int ifphot; 
00047      int ifhadm; 
00048      int ifhadp; 
00049    } libra_ ;
00050 } 
00051 #define libra libra_
00052 
00053 //
00054 //-------------------------------------------------------------------------------
00055 //
00056 
00057 // auxiliary function defined in CMS specific Fortran interface to TAUOLA
00058 
00059 extern "C" {
00060   void tauola_srs_(int*, int*);
00061 }
00062 #define tauola_srs tauola_srs_ 
00063 
00064 void inline call_tauola_srs (int mode, int polarization) { tauola_srs(&mode, &polarization); }
00065 
00066 extern "C" {
00067   void taurep_(int*);
00068 }
00069 #define taurep taurep_
00070 
00071 void inline call_taurep (int mode) { taurep(&mode); }
00072 
00073 extern "C" {
00074   void pyhepc_t_(int*);
00075 }
00076 #define pyhepc_t pyhepc_t_
00077 
00078 void inline call_pyhepc_t (int direction) { pyhepc_t(&direction); }
00079 
00080 //
00081 //-------------------------------------------------------------------------------
00082 //
00083 
00084 // auxiliary functions defined in PYTHIA
00085 
00086 extern "C" {
00087   int ihepdim_(int*);
00088 }
00089 #define ihepdim ihepdim_
00090 
00091 int inline call_ihepdim(int dummy) { return ihepdim(&dummy); }
00092 
00093 extern "C" {
00094   int pycomp_(int*);
00095 }
00096 #define pycomp pycomp_
00097 
00098 int inline call_pycomp(int pdgCode) { return pycomp(&pdgCode); }
00099 
00100 extern "C" {
00101   double pyr_(int*);
00102 }
00103 #define pyr pyr_
00104 
00105 double inline call_pyr(int dummy) { return pyr(&dummy); }
00106 
00107 extern "C" {
00108   void pygive_(const char*, int);
00109 }
00110 #define pygive pygive_
00111 
00112 void inline call_pygive(const char* parameter_ptr, int parameter_len) { pygive(parameter_ptr, parameter_len); }
00113 
00114 extern "C" {
00115   void pydecy_(int*);
00116 }
00117 #define pydecy pydecy_
00118 
00119 void inline call_pydecy(int iParticle) { pydecy(&iParticle); }
00120 
00121 //
00122 //-------------------------------------------------------------------------------
00123 //
00124 
00125 #endif

Generated on Tue Jun 9 17:36:53 2009 for CMSSW by  doxygen 1.5.4