1 subroutine cmudedx(flagN, flagBr, flagPr, Emu, dEdx, dEdxF)
28 real*8 dEdx1, dEdx2, dEdx3
29 real*8 dEdx1F, dEdx2F, dEdx3F
39 if(flagbr .ne. 1)
then 45 if(flagpr .ne. 1)
then 50 dedx = dedx1 + dedx2 + dedx3
51 dedxf = dedx1f + dedx2f + dedx3f
72 if(flag .eq.0 .or. (emu .lt. munemin))
then 75 if(emu .gt. munemax1)
then 82 call kintp3(mundedxt, 1, muntxt, munlemin,
85 elseif(flag .eq. 2 .or. flag .eq. 3)
then 87 call kintp3(mundedx0, 1, muntxt, munlemin,
91 call cerrormsg(
'flag is invalid for cmuNdEdx',0)
93 if(emu .gt. munemax1)
then 94 dedx = dedx*(emu/munemax1)**pw
114 if(flag .eq.0 .or. (emu .lt. mubremin))
then 117 if(emu .gt. mubremax1)
then 118 ale = log10(mubremax1)
124 call kintp3(mubrdedxt, 1, mubrtxt, mubrlemin,
125 * mubrdetx, ale, dedx)
126 elseif(flag .eq. 2 .or. flag .eq. 3)
then 128 call kintp3(mubrdedx0, 1, mubrtxt, mubrlemin,
129 * mubrdetx, ale, dedx)
131 call cerrormsg(
'flag is invalid for cmuBrdEdx',0)
152 if(flag .eq.0 .or. (emu .lt. mupremin))
then 155 if(emu .gt. mupremax1)
then 156 ale = log10(mupremax1)
162 call kintp3(muprdedxt, 1, muprtxt, muprlemin,
163 * muprdetx, ale, dedx)
164 elseif(flag .eq. 2 .or. flag .eq. 3)
then 166 call kintp3(muprdedx0, 1, muprtxt, muprlemin,
167 * muprdetx, ale, dedx)
169 write(0,*)
' flag = ', flag
170 call cerrormsg(
'flag is invalid for cmuPrdEdx',0)
subroutine cerrormsg(msg, needrtn)
subroutine cmuprdedx(flag, Emu, dEdx)
subroutine cmudedx(flagN, flagBr, flagPr, Emu, dEdx, dEdxF)
subroutine cmundedx(flag, Emu, dEdx)
subroutine cmubrdedx(flag, Emu, dEdx)
subroutine kintp3(f, intv, n, x1, h, x, ans)