if (subgraph.getGraphType() != GraphType.Line) continue; SpinorType left = isSpinor(pc.get(subgraph.getPosition(0))), right = isSpinor(pc.get(subgraph.getPosition(subgraph.size() - 1))); if (left == null && right == null) continue; for (int i = 0; i < subgraph.size(); ++i) { if (!isGamma(pc.get(subgraph.getPosition(i)))) continue; int mIndex = withMomentum(subgraph.getPosition(i), pc, st); if (mIndex != -1) { Tensor co = pc.get(mIndex); Tensor spinors = product.select(momentums.toArray()); if (left != null) { spinors = multiply(spinors, pc.get(subgraph.getPosition(0))); --gSize; spinors = multiply(spinors, pc.get(subgraph.getPosition(subgraph.size() - 1))); --gSize; int i = 1; for (; i <= matched.first(); ++i) { Tensor r = pc.get(subgraph.getPosition(i)); if (!isGammaOrGamma5(r)) { gammas = null; gammas[i - 1] = pc.get(subgraph.getPosition(i));
break; int p = currentSubgraph.getPosition(iSubgraphPosition); if (isGamma(content.get(p))) gPositions.add(p); g5Positions.set(0, size - 1); for (int i = 0; i <= g5; ++i) gPositions.set(size - g5 - 1 + i, currentSubgraph.getPosition(i)); for (int i = g5 + 1; i < size; ++i) gPositions.set(i - g5 - 1, currentSubgraph.getPosition(i));