本文整理汇总了C++中atools::Flavour::IsFermion方法的典型用法代码示例。如果您正苦于以下问题:C++ Flavour::IsFermion方法的具体用法?C++ Flavour::IsFermion怎么用?C++ Flavour::IsFermion使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类atools::Flavour
的用法示例。
在下文中一共展示了Flavour::IsFermion方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
double Kinematics_FF::GetKT2(const double &Q2,const double &y,const double &z,
const double &mi2,const double &mj2,const double &mk2,
const ATOOLS::Flavour &fla,const ATOOLS::Flavour &flc) const
{
double pipj=(Q2-mi2-mj2-mk2)*y;
if (m_evolscheme==0) {
return pipj*z*(1.0-z)-sqr(1.0-z)*mi2-sqr(z)*mj2;
}
double kt2=pipj*z*(1.0-z);
if (fla.IsFermion()) kt2=pipj*(flc.IsVector()?(1.0-z):z);
else if (flc.IsFermion()) kt2=pipj;
return kt2;
}
示例2: Init
Pol_Info::Pol_Info(const ATOOLS::Flavour& fl)
{
int dof = 1;
pol_type='s';
if(fl.IsFermion()) { dof = 2;pol_type='h';};
if(fl.IsVector() && ATOOLS::IsZero(fl.Mass())) { dof = 2;pol_type='c';}
if(fl.IsVector() && !ATOOLS::IsZero(fl.Mass())) {
#ifdef Explicit_Pols
dof=3;
#else
dof=1;
#endif
pol_type='c';
}
if(fl.IsTensor()) dof=5;
Init(dof);
if(!fl.IsTensor()) {
int tf[3] = {mt::p_m, mt::p_p, mt::p_l };
for(int j=0;j<dof;j++){
type[j] = tf[j];
factor[j] = 1.;
}
}
else {
type[0]=mt::p_t1;factor[0]=1.;
type[1]=mt::p_t2;factor[1]=1.;
type[2]=mt::p_t3;factor[2]=1.;
type[3]=mt::p_t4;factor[3]=1.;
type[4]=mt::p_t5;factor[4]=1.;
}
}
示例3: GetY
double Kinematics_FF::GetY(const double &Q2,const double &kt2,const double &z,
const double &mi2,const double &mj2,const double &mk2,
const ATOOLS::Flavour &fla,const ATOOLS::Flavour &flc,
const bool force) const
{
if (!force && (z<=0.0 || z>=1.0 || Q2<=mi2+mj2+mk2)) return -1.0;
if (m_evolscheme==0) {
return (kt2/(z*(1.0-z))+(1.0-z)/z*mi2+z/(1.0-z)*mj2)/(Q2-mi2-mj2-mk2);
}
if (fla.IsFermion()) {
if (flc.IsFermion()) return kt2/z/(Q2-mi2-mj2-mk2);
return kt2/(1.0-z)/(Q2-mi2-mj2-mk2);
}
if (flc.IsFermion()) return kt2/(Q2-mi2-mj2-mk2);
return kt2/(z*(1.0-z))/(Q2-mi2-mj2-mk2);
}
示例4:
double Kinematics_II::GetKT2(const double &Q2,const double &y,const double &z,
const double &ma2,const double &mi2,const double &mb2,
const ATOOLS::Flavour &flb,const ATOOLS::Flavour &flc) const
{
double pipj=(Q2-ma2-mi2-mb2)*y/z;
if (m_evolscheme==0) {
return pipj*(1.0-z)-mi2-sqr(1.0-z)*ma2;
}
double kt2=pipj*(1.0-z);
if (flc.IsFermion()) kt2=pipj;
return kt2;
}