#include "TRhoEtaCrossPart.h"
#include "TConstant.h"
#include <complex>
#include <iostream>
Go to the source code of this file.
Typedefs | |
typedef std::complex< double > | complex_t |
Functions | |
complex_t | operator+ (const double &x, const complex_t &y) |
complex_t | operator- (const double &x, const complex_t &y) |
double | Gamma (const double Q2, const double M2, const double G) |
complex_t | Rrho (double Q2, bool IsIsospinBreak) |
complex_t | Amp (double s) |
complex_t | FRhoEta (double s, double Q02, double Qp2, double Qm2) |
typedef std::complex<double> complex_t |
Definition at line 8 of file TRhoEtaCrossPart.C.
complex_t Amp | ( | double | s | ) | [inline] |
Definition at line 54 of file TRhoEtaCrossPart.C.
References alpha, exp(), rb::Geepsi, rb::Geepsip, rb::Geepsipp, rb::Gpsi, rb::Gpsip, rb::Gpsipp, I, M_PI, rb::Mpsi, rb::Mpsi2, rb::Mpsip, rb::Mpsip2, rb::Mpsipp, and rb::Mpsipp2.
00054 { 00055 const complex_t I(0,1); 00056 const double Apsi = 4*alpha*Gpsi/(3*Geepsi); 00057 const double phipsi = -M_PI/2; 00058 const double Apsip = 2*alpha*Gpsip/(3*Geepsip); 00059 const double phipsip = -M_PI/2; 00060 const double Apsipp = alpha*Gpsipp/(3*Geepsipp); 00061 const double phipsipp = -M_PI/2; 00062 complex_t res = 3*sqrt(s)/alpha* 00063 ( 00064 Geepsi*(1 + Apsi*exp(I*phipsi))/(s - Mpsi2 + I*Mpsi*Gpsi) + 00065 Geepsip*(1 + Apsip*exp(I*phipsip))/(s - Mpsip2 + I*Mpsip*Gpsip) + 00066 Geepsipp*(1 + Apsipp*exp(I*phipsipp))/(s - Mpsipp2 + I*Mpsipp*Gpsipp)); 00067 return res; 00068 }
complex_t FRhoEta | ( | double | s, | |
double | Q02, | |||
double | Qp2, | |||
double | Qm2 | |||
) |
double Gamma | ( | const double | Q2, | |
const double | M2, | |||
const double | G | |||
) | [inline] |
Definition at line 18 of file TRhoEtaCrossPart.C.
References rb::mpi2.
00018 { 00019 double beta2 = (Q2-4*mpi2)/(M2-4*mpi2); 00020 double beta = sqrt(beta2); 00021 return G*M2/Q2*beta2*beta; 00022 }
Definition at line 25 of file TRhoEtaCrossPart.C.
References rb::Gamma(), rb::Gomega, rb::Grho, rb::Grhop, rb::Grhopp, rb::Grhoppp, I, rb::Momega, rb::Momega2, rb::mpi2, rb::Mrho2, rb::Mrhop2, rb::Mrhopp2, and rb::Mrhoppp2.
00025 { 00026 if(Q2<4*mpi2) return 0; 00027 const complex_t I(0,1); 00028 double Q = sqrt(Q2); 00029 complex_t prop_rho = Mrho2/(Q2 - Mrho2 + I*(Gamma(Q2,Mrho2,Grho)*Q)); 00030 complex_t prop_rhop = Mrhop2/(Q2 - Mrhop2 + I*(Gamma(Q2,Mrhop2,Grhop)*Q)); 00031 complex_t prop_rhopp = Mrhopp2/(Q2 - Mrhopp2 + I*(Gamma(Q2,Mrhopp2,Grhopp)*Q)); 00032 complex_t prop_rhoppp = Mrhoppp2/(Q2 - Mrhoppp2 + I*(Gamma(Q2,Mrhoppp2,Grhoppp)*Q)); 00033 // rho(770), rho(1450), rho(1700) in 2-pi inv mass 00034 // beta and gamma from Ph.D. thesis of Fedor Ignatov (ignatov@inp.nsk.su) 00035 00036 // const complex_t beta(0.41*cos(-2.02),0.41*sin(-2.02)); 00037 const complex_t beta(-0.178042,-0.369325); 00038 00039 // const complex_t gamma(0.074*cos(-3.53),0.074*sin(-3.53)); 00040 const complex_t gamma(-0.068488,0.0280249); 00041 00042 const complex_t xi(0.05,0.0); 00043 if(IsIsospinBreak){ 00044 // rho-omega mixing 00045 const complex_t delta(0.002,0); 00046 complex_t prop_omega = Momega2/(Q2 - Momega2 + I*(Gomega*Momega)); 00047 00048 return (prop_rho*(1-delta*Q2/Momega2*prop_omega) + beta*prop_rhop + gamma*prop_rhopp + xi*prop_rhoppp)/(1+beta+gamma+xi); 00049 } else { 00050 return (prop_rho + beta*prop_rhop + gamma*prop_rhopp + xi*prop_rhoppp)/(1+beta+gamma+xi); 00051 } 00052 }