      SUBROUTINE GETALT(Z,LENGTH,ICACHE,LSTNUM)
C
C THIS ROUTINE RETRIEVES ALL IRREPS OF A SYMMETRY PACKED DISTRIBUTION
C  AND PLACES THEIR *TRANSPOSES* IN VECTOR Z.  LENGTH IS THE TOTAL LENGTH 
C  OF THE LIST, LSTNUM IS THE NUMBER OF THE LIST ON THE MOINTS FILE.
C
CEND
      IMPLICIT INTEGER (A-Z)
      DOUBLE PRECISION Z(LENGTH)
      COMMON /SYMINF/ NSTART,NIRREP,IRREPA(255),IRREPB(255),DIRPRD(8,8)
      COMMON /MACHSP/ IINTLN,IFLTLN,IINTFP,IALONE,IBITWD
      COMMON /SYMPOP/ IRPDPD(8,22),ISYTYP(2,500),D(18)
C
C  LOOP OVER IRREPS.
C
      IOFF=1
      ILIST=LSTNUM
      IF(ILIST.GT.100)ILIST=LSTNUM
      TOTSIZ=ISYMSZ(ISYTYP(1,ILIST),ISYTYP(2,ILIST))
      ITOP=IOFF+IINTFP*TOTSIZ
      DO 10 IRREP=1,NIRREP
C
C GET NUMBER OF DISTRIBUTIONS AND DISTRIBUTION SIZE.
C
       NUMDIS=IRPDPD(IRREP,ISYTYP(2,ILIST))
       DISSIZ=IRPDPD(IRREP,ISYTYP(1,ILIST))
       ITOP2=ITOP+IINTFP*DISSIZ
C
C STUFF VECTOR INTO Z.
C
       IF(NUMDIS.EQ.0)GOTO 10
       CALL GETTRN(Z(IOFF),Z(ITOP),DISSIZ,NUMDIS,ICACHE,IRREP,LSTNUM)
       IOFF=IOFF+NUMDIS*DISSIZ
10    CONTINUE
      RETURN
      END
