Return to h_solve_3by3.f CVS log | 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 |