Name: Rolf Mertig Date: 06/21/11-06:21:52 PM Z
In the file HighEnergyPhysics/fctools/Uncontract.m
do the following:
(* After these 9 lines: *)
If[!FreeQ[nex, DiracGamma],
nex = nex /. DiracGamma -> dirg;
nex = nex //. dirg[Momentum[q,d___],b___]
:>
(li =
LorentzIndex[a$AL[inc=inc+1],If[dim===Automatic,seq[d],dim]];
Pair[Momentum[q,If[dim===Automatic,seq[d],dim]],
li] *
dirg[lidr[li],If[dim===Automatic,seq[d],dim]]
) /. dirg -> DiracGamma;
nex = DotSimplify[nex,Expanding -> False];
];
(* **** add the following lines: *)
If[!FreeQ[nex,
(tf_/;!MemberQ[{DiracGamma,Pair},tf])[___,Momentum[q,___],___]],
nex = nex //. {
(tf_/;!MemberQ[{DiracGamma,Pair},tf])[a___,Momentum[q,d___],b___]
:>
(li =
LorentzIndex[a$AL[inc=inc+1],If[dim===Automatic,seq[d],dim]];
tf[a, li, b]
Pair[Momentum[q,If[dim===Automatic,seq[d],dim]],lidr[li]]
)
}
];