本文整理汇总了C++中Propagator::isNull方法的典型用法代码示例。如果您正苦于以下问题:C++ Propagator::isNull方法的具体用法?C++ Propagator::isNull怎么用?C++ Propagator::isNull使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Propagator
的用法示例。
在下文中一共展示了Propagator::isNull方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DiagramBase
//------------------------------------------------------------------------------
DiagramTwoLoop::DiagramTwoLoop(std::vector<Line> lines, LabelMap<Vertex, VertexType> vertextypes, LabelMap<Vertex, KernelType> kerneltypes) : DiagramBase(lines, vertextypes, kerneltypes), _qmax(std::numeric_limits<double>::infinity())
{
_order = Order::kTwoLoop;
// check to ensure that the diagram is really two loop
bool is2Loop = false;
// find the nontrivial poles
for (auto line : _lines) {
// check if the line has the loop momentum in it
// if so, it has an IR pole that must be regulated if it is away from 0
if (line.propagator.hasLabel(Momentum::q)) {
is2Loop = true;
_order = Order::kOneLoop;
Propagator pole = line.propagator.IRpole(Momentum::q);
if (!pole.isNull()) {
_IRpoles.push_back(pole);
}
}
}
assert(is2Loop);
}