subroutine ffhe3 (q2mev,rp,rn,rpsp,rnsp,nfcn,ache,amhe,ach) c *** see r h landau, program lpott, 1981, mods by m sagen c ffhe3 calculates the four form factors needed to describe he3with c (fsd is only calc as a cpmparison, it should be small and is c the apptox, or effectove, sd contib to the magnetic ff c the ff*s are calc by using c 1 fche3- expt of 7ccarthy et al for all q2,have fitted c 2 ff*s calc by m mcmillan,for fcn=0 these fit h3 data c of collard and for laegrer q2( gt 6 f-2) they rep a c reasonable extrapltn which has a correct zero as he3 c 3 fmhe3 use the form of 7ccarthy et al but vary this since the exh c chage contib is included in e scatter, but presmbly not in our pi c scatt (nb we use mu he3 = un) c these ff include s,s* + d states exactly in f1c,f2c, c the d stae is only put in approximatly in f1m,f2m as gibson has c shown this to be small (ignore too the dd terms too) c nfcn=1 , include neytron form factor in escat data, =0 , don*t c data seems best interpeerted woth no neutron ?charge? form factor c possibly this is due to polarization or meson exch efects && c c q2mev2 is in mev**2 not fermi-2 implicit real*8(a-h,o-z) data up,un,uhe3/2.79278,-1.91315,-1.91315/ q2f2 = q2mev/(197.329**2) qf = sqrt(q2f2) c nucleon ff fn=0. fp=1. if(nfcn.eq.0) call ffpn (q2f2,fp,fn) if ((nfcn.ne.1).and.(nfcn.ne.0)) write (6,40) nfcn c he3 and h3 charge ff fche3 = ffche3(qf) c use mmm wf*s for h3,this fits collard (if fn=0) and is reasnb,e c sp= s* prob, pd= d state prob, these a can be varied psp = 0.02 pd = 0.09 call fmmm (q2f2,f1c,f2c,psp,pd) fch3 = (2.*fn+fp)*f1c+(fp-fn)*f2c c he3 mag ff fmhe3 = ffmhe3(qf) go to 30 entry fhe3gs(q2mev,rp,rn,rpsp,rnsp,nfcn,ache,amhe,ach) q2f2 = q2mev/(197.32**2) fn = 0. fp = 1. c gaussian form factors fche3 = 0. rhl = ache*ache*q2f2 if (rhl.gt.150.) go to 10 fche3 = exp(-rhl) 10 fch3 = 0. rhl = ach*ach*q2f2 if (rhl.ge.150.) go to 20 fch3 = exp(-rhl) 20 fmhe3 = 0. rhl = amhe*amhe*q2f2 if (rhl.ge.150.) go to 30 fmhe3 = exp(-rhl) 30 continue c c direct calc of ff for fcn=0 rp=fche3/fp rn=fch3/fp rhl=un/(up+2.*un)/fp rhl1=(fch3-4.*fche3)/3. rpsp=rhl*(fmhe3+rhl1)/2. rnsp=rhl*(2.*fmhe3-rhl1*(up/un)) return c 40 format (55h ********** neutron form factor switch is strange,nfcn= 1,i3,11h **********,/) end