C SEGTRA    SOURCE    CHAT      05/01/13    03:13:18     5004
C
C*********************************************************************
C
      SUBROUTINE SEGTRA(COUR,HI,HE,RI,RE,QB,QH,YMIN,YMAX,
     &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 segment de courant COUR,
C  d'axe Oy, de section trapezoidale symetrique par rapport a xOy:
C     - rayons interieur et exterieur RI et RE (RI=-RE)
C     - hauteurs interieure et exterieure HI et HE
C     - pentes basse et haute QB et QH
C     - extension longitudinale YMIN a YMAX par rapport au plan xOz
C       contenant le point de coordonnees (X,0,Z)
C       oº on calcule le champ (BX,BY,BZ)
C*********************************************************************
C
C
      EXTERNAL FONCF
      EXTERNAL FONCG
C
C
C  calcul des grandeurs geometriques reduites
C
      AMU=4.E-7*XPI
      R=(RI+RE)/2.
      A=(RE-RI)/2.
      B=(HI+HE)/4.
      COEF=COUR*AMU/(16.*XPI*A*B)
      Q2B=SQRT(QB*QB+1.)
      Q2H=SQRT(QH*QH+1.)
C
         BX=COEF*
     &   ((FONCF(QH,+A,YMAX,B-Z,X)-FONCF(QH,+A,YMIN,B-Z,X)
     &   -FONCF(QH,-A,YMAX,B-Z,X)+FONCF(QH,-A,YMIN,B-Z,X))/Q2H
     &   +(-FONCF(-QB,+A,YMAX,B+Z,X)+FONCF(-QB,+A,YMIN,B+Z,X)
     &   +FONCF(-QB,-A,YMAX,B+Z,X)-FONCF(-QB,-A,YMIN,B+Z,X))/Q2B)
C
         BY=0.
C
         BZ=COEF*
     &   (FONCG(QH,+A,YMAX,B-Z,X)-FONCG(QH,+A,YMIN,B-Z,X)
     &   -FONCG(QH,-A,YMAX,B-Z,X)+FONCG(QH,-A,YMIN,B-Z,X)
     &   +FONCG(-QB,+A,YMAX,B+Z,X)-FONCG(-QB,+A,YMIN,B+Z,X)
     &   -FONCG(-QB,-A,YMAX,B+Z,X)+FONCG(-QB,-A,YMIN,B+Z,X))
     &        +COEF*QH/Q2H*
     &   (FONCF(QH,+A,YMAX,B-Z,X)-FONCF(QH,+A,YMIN,B-Z,X)
     &   -FONCF(QH,-A,YMAX,B-Z,X)+FONCF(QH,-A,YMIN,B-Z,X))
     &        -COEF*QB/Q2B*
     &   (FONCF(-QB,+A,YMAX,B+Z,X)-FONCF(-QB,+A,YMIN,B+Z,X)
     &   -FONCF(-QB,-A,YMAX,B+Z,X)+FONCF(-QB,-A,YMIN,B+Z,X))
      RETURN
      END




