C BTRCON    SOURCE    CB215821  17/11/30    21:15:17     9639           
      SUBROUTINE BTRCON(SANGLE,COUR,RI,RE,Q,TMIN,TMAX,
     &X,Z,BX,BY,BZ)
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)
C
-INC CCREEL
C
C*******************************************************************
C  Calcul du champ induit par un tronc de cone de courant COUR,
C  d'axe Oz :
C     - rayons interieur et exterieur RI et RE
C     - pente Q
C     - extension angulaire TMIN a TMAX par rapport au plan meridien
C       xOz contenant le point de coordonnees (X,0,Z)
C       ou on calcule le champ (BX,BY,BZ)
C*******************************************************************
C
C
      SEGMENT SANGLE
         REAL*8 TETM(NT4)
         REAL*8 TETI(NT4)
         REAL*8 DTE(NT4)
      ENDSEGMENT
C
C  champ magnetique selon Ox, Oy, Or et Oz cree par l'element d'arc de
C  longueur DTE situe en TETA, et grandeurs dependant de TETA pour
C  l'integration
C
C
      EXTERNAL FTRC
C
C  calcul des grandeurs geometriques independantes de TETA
C
      AMU=4.E-7*XPI
      R=(RI+RE)/2.
      A=(RE-RI)/2.
      Z0=Q*RI
C  changement de repere
      ZR=Z+Q*R
      H=2.*Q*A
      Q2=Q**2
      COEF=AMU*COUR*Q/(4.*XPI*H)
      C1=X**2+ZR**2
      Q2C1=Q2*C1
      C3=1.+Q2
C
C  recherche des bornes d'integration
C
      IDEB=0
      IFIN=0
      TTAI=-1.
      TTAF=-1.
      NT4=TETM(/1)
C
      DO 1 I=1,NT4
         DMIN=TMIN-TETI(I)
         DMAX=TMAX-TETI(I)
         TTBI=SIGN(1.D0,DMIN)
         TTBF=SIGN(1.D0,DMAX)
         TESTI=0.5*(1.-TTAI*TTBI)
         TESTF=0.5*(1.-TTAF*TTBF)
         IDEB=IDEB+I*INT(TESTI)
         IFIN=IFIN+I*INT(TESTF)
         TTAI=TTBI
         TTAF=TTBF
 1    CONTINUE
C
      DTINI=DTE(IDEB)
      DTFIN=DTE(IFIN)
      TETINI=TETM(IDEB)
      TETFIN=TETM(IFIN)
      DTE(IDEB)=TETI(IDEB+1)-TMIN
      DTE(IFIN)=TMAX-TETI(IFIN)
      TETM(IDEB)=0.5*(TETI(IDEB+1)+TMIN)
      TETM(IFIN)=0.5*(TETI(IFIN)+TMAX)
C
      BX=0.
      BY=0.
      BZ=0.
C
      DO 21 I=IDEB,IFIN
C
         COST=COS(TETM(I))
         SINT=SIN(TETM(I))
         XC=X*COST
         C2=-2.*(XC+Q*ZR)
         QC2=Q*C2
         HR=Q*(-FTRC(Z0+H,Q2C1,QC2,C3,ZR)+FTRC(Z0,Q2C1,QC2,C3,ZR))
     &        *DTE(I)
C
         HX=HR*COST
         HY=HR*SINT
         HZ=(FTRC((Z0+H)/Q,C1,C2,C3,XC)-FTRC(Z0/Q,C1,C2,C3,XC))*DTE(I)
C
         BX=BX+HX
         BY=BY+HY
         BZ=BZ+HZ
C
 21   CONTINUE
C
      BX=BX*COEF
      BY=BY*COEF
      BZ=BZ*COEF
C
      DTE(IDEB)=DTINI
      DTE(IFIN)=DTFIN
      TETM(IDEB)=TETINI
      TETM(IFIN)=TETFIN
C
      RETURN
      END




 
