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]]
                            )
                          }
         ];