(file) Return to h_solve_3by3.f CVS log (file) (dir) Up to [HallC] / Analyzer / HTRACKING

File: [HallC] / Analyzer / HTRACKING / h_solve_3by3.f (download)
Revision: 1.4, Tue Oct 10 16:36:37 1995 UTC (28 years, 11 months ago) by cdaq
Branch: MAIN
CVS Tags: spring03, sep0596, sep-26-2002, sep-25-2002, sep-24-2002, sep-09-2002, sane, pionct, online07, online04, online03, oct1199, nov2696, mduality, mar-24-2003, jan2496, jan1896, jan1796, gep_online, gep3, fpi2, emc, e01004, dec0198, bigcal, baryon, aug-12-2003, apr3096, apr-02-2003, Initial-CVS-Release, HEAD, Extra_Shower_Tubes_on_HMS_not_SOS
Changes since 1.3: +6 -3 lines
(JRA) Cleanup

      subroutine h_solve_3by3(TT,pindex,stub,ierr)
*     Explicit solution of a symmetric three by three equation TT = AA * STUB
*     Remember AA must be a symmetrix matrix
*     Used in find_best_stub.f

* $Log: h_solve_3by3.f,v $
* Revision 1.4  1995/10/10 17:36:37  cdaq
* (JRA) Cleanup
*
* Revision 1.3  1995/05/22 19:39:27  cdaq
* (SAW) Split gen_data_data_structures into gen, hms, sos, and coin parts"
*
* Revision 1.2  1994/11/22  20:07:20  cdaq
* (SAW) Change name, add h to aainv3, move to HTRACKING directory.
*
* Revision 1.1  1994/10/12  18:42:59  cdaq
* Initial revision
*
*
* djm 10/2/94
* The present version replaces solve_three_by_three(TT,AA,stub,ierr) in 
* find_best_stub. New version is entirely based on dfg's version, but matrix 
* inversion is now done only at initialization for faster event sorting.

*
      implicit none
      include 'hms_data_structures.cmn'
      include 'hms_tracking.cmn'


*     input quantities
      real*8 TT(3) 
      integer*4 pindex
*
*     output quantities
      real*8 stub(3)
      integer*4 ierr                       ! ierr = 0 means valid solution
*
*
      if(pindex.le.14)then     !accept 5/6 or 6/6 good planes
        ierr=0
        stub(1)=HAAINV3(1,1,pindex)*TT(1) + HAAINV3(1,2,pindex)*TT(2) + 
     & HAAINV3(1,3,pindex)*TT(3)
        stub(2)=HAAINV3(1,2,pindex)*TT(1) + HAAINV3(2,2,pindex)*TT(2) + 
     & HAAINV3(2,3,pindex)*TT(3)
        stub(3)=HAAINV3(1,3,pindex)*TT(1) + HAAINV3(2,3,pindex)*TT(2) + 
     & HAAINV3(3,3,pindex)*TT(3)
      else
        ierr=1
      endif          !end test on plane index
 
*      write(6,*)'TT i=1,2,3',TT(1),TT(2),TT(3)
*
*      write(6,*)'aainv(1,1,) (1,2,) (1,3,)',aainv(1,1,pindex),
*     &    aainv(1,2,pindex),aainv(1,3,pindex)
*
*      write(6,*)'aainv(2,2) (2,3) (3,3)',aainv(2,2,pindex),
*     &    aainv(2,3,pindex),aainv(3,3,pindex)
*
*     write(6,*)
     
      return

      end

Analyzer/Replay: Mark Jones, Documents: Stephen Wood
Powered by
ViewCVS 0.9.2-cvsgraph-1.4.0