/* This file calculates the rho, omega and phi wavefunctions. */ /**************************************************************************/ /* */ /* IMPORTANT : all dimensional quantities in this program */ /* are in units GeV */ /* */ /**************************************************************************/ #include /* the function rho_distr_ampl() returns the asymptotic rho distribution amplitude as function of the quark longitudinal momentum fraction z */ double rho_distr_ampl(double z) { int wavefunction; double asy; asy = F_RHO/(2. * sqrt(6.)) * 6. * z * (1. - z); wavefunction = 1; switch(wavefunction) { case 1 : /* asymptotic distribution amplitude */ { return asy; break; } case 2 : /* CZ distribution amplitude */ { return asy * 5. * pow(1. - 2. * z, 2.); break; } case 3 : /* Ball-Braun distribution amplitude */ { double xi, a2; xi = 2. * z - 1.; a2 = 0.18; return 6. * z * (1. - z) * (1. + a2 * 15./2. * (pow(xi,2.) - .2) ); break; } } } /* The function rho_wavef_impactpar() returns the rho wavefunction as function of the quark longitudinal momentum fraction x and as function of the transverse distance b (in GeV^-1) between the quark and antiquark. To model the transverse momentum dependence, a gaussian ansatz is used. */ double rho_wavef_impactpar(double x, double b) { double avmom_sqr; avmom_sqr = 0.67; /* average squared transverse quark momentum in rho wavefunction in units GeV^2. Same value is taken as for pion wavefunction */ return 4. * PI * rho_distr_ampl(x) * exp(- .5 * avmom_sqr * x * (1. - x) * pow(b,2.)); } /* The function rho_wavef_momspace() returns the rho wavefunction in momentum space as function of the quark longitudinal momentum fraction x and as function of the transverse momentum k_perp between the quark and antiquark. To model the transverse momentum dependence, a gaussian ansatz is used. */ double rho_wavef_momspace(double x, double k_perp) { double avmom_sqr; avmom_sqr = 0.67; /* average squared transverse quark momentum in rho wavefunction in units GeV^2. Same value is taken as for pion wavefunction */ return 8. * pow(PI,2.) / avmom_sqr * rho_distr_ampl(x) / (x * (1. - x)) * exp(- .5 * pow(k_perp,2.)/(avmom_sqr * x * (1. - x)) ); } /***************************************************************************/ /* the function omega_distr_ampl() returns the asymptotic omega distribution amplitude as function of the quark longitudinal momentum fraction z */ double omega_distr_ampl(double z) { int wavefunction; double asy; asy = F_OMEGA/(2. * sqrt(6.)) * 6. * z * (1. - z); wavefunction = 1; switch(wavefunction) { case 1 : /* asymptotic distribution amplitude */ { return asy; break; } case 2 : /* CZ distribution amplitude */ { return asy * 5. * pow(1. - 2. * z, 2.); break; } } } /* The function omega_wavef_impactpar() returns the omega wavefunction as function of the quark longitudinal momentum fraction x and as function of the transverse distance b (in GeV^-1) between the quark and antiquark. To model the transverse momentum dependence, a gaussian ansatz is used. */ double omega_wavef_impactpar(double x, double b) { double avmom_sqr; avmom_sqr = 0.67; /* average squared transverse quark momentum in omega wavefunction in units GeV^2. Same value is taken as for pion wavefunction */ return 4. * PI * omega_distr_ampl(x) * exp(- .5 * avmom_sqr * x * (1. - x) * pow(b,2.)); } /* The function omega_wavef_momspace() returns the omega wavefunction in momentum space as function of the quark longitudinal momentum fraction x and as function of the transverse momentum k_perp between the quark and antiquark. To model the transverse momentum dependence, a gaussian ansatz is used. */ double omega_wavef_momspace(double x, double k_perp) { double avmom_sqr; avmom_sqr = 0.67; /* average squared transverse quark momentum in omega wavefunction in units GeV^2. Same value is taken as for pion wavefunction */ return 8. * pow(PI,2.) / avmom_sqr * omega_distr_ampl(x) / (x * (1. - x)) * exp(- .5 * pow(k_perp,2.)/(avmom_sqr * x * (1. - x)) ); } /***************************************************************************/ /* the function phi_distr_ampl() returns the asymptotic phi distribution amplitude as function of the quark longitudinal momentum fraction z */ double phi_distr_ampl(double z) { int wavefunction; double asy; asy = F_PHI/(2. * sqrt(6.)) * 6. * z * (1. - z); wavefunction = 1; switch(wavefunction) { case 1 : /* asymptotic distribution amplitude */ { return asy; break; } case 2 : /* CZ distribution amplitude */ { return asy * 5. * pow(1. - 2. * z, 2.); break; } } } /* The function phi_wavef_impactpar() returns the phi wavefunction as function of the quark longitudinal momentum fraction x and as function of the transverse distance b (in GeV^-1) between the quark and antiquark. To model the transverse momentum dependence, a gaussian ansatz is used. */ double phi_wavef_impactpar(double x, double b) { double avmom_sqr; avmom_sqr = 0.67; /* average squared transverse quark momentum in phi wavefunction in units GeV^2. Same value is taken as for pion wavefunction */ return 4. * PI * phi_distr_ampl(x) * exp(- .5 * avmom_sqr * x * (1. - x) * pow(b,2.)); } /* The function phi_wavef_momspace() returns the phi wavefunction in momentum space as function of the quark longitudinal momentum fraction x and as function of the transverse momentum k_perp between the quark and antiquark. To model the transverse momentum dependence, a gaussian ansatz is used. */ double phi_wavef_momspace(double x, double k_perp) { double avmom_sqr; avmom_sqr = 0.67; /* average squared transverse quark momentum in phi wavefunction in units GeV^2. Same value is taken as for pion wavefunction */ return 8. * pow(PI,2.) / avmom_sqr * phi_distr_ampl(x) / (x * (1. - x)) * exp(- .5 * pow(k_perp,2.)/(avmom_sqr * x * (1. - x)) ); }