Sgutil: Difference between revisions

From CLONWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 27: Line 27:
'''ALGORITHMS DESCRIPTION'''
'''ALGORITHMS DESCRIPTION'''


[https://clonwiki.jlab.org/wiki/clondocs/Docs/faddr000.gif gif]
192-bit words were summed using binary numbers adding procedure. [https://clonwiki.jlab.org/wiki/clondocs/Docs/faddr000.gif Simple adder] was used, and final
[https://clonwiki.jlab.org/wiki/clondocs/Docs/faddr-4b.gif gif]
[https://clonwiki.jlab.org/wiki/clondocs/Docs/faddr-4b.gif adding procedure] was used to get a sum of 6 192-bit words representing 6 layers of the Drift Chamber superlayer.

Revision as of 13:07, 7 May 2010

SGLIB/SGUTIL package contains Dave Haddle's noise reduction software with segment finding extensions. It resides in $CODA/src/codatt/sgutil.c and is called from $CLON/src/cmon/prlib/sglib.c.

SGLIB contains following functions:

  • sginit() - must be called once at initialization stage; creates differencial shift table and fills lookup tables
  • sgtrigger() - works for specified sector; return 0 if sector does not have required track information, otherwise returns the number of superlayers with segments; calls function RemoveNoise() from SGUTIL
  • sgremovenoise() - works for specified sector; rewrites all DC banks removing single hits; calls function RemoveNoise() from SGUTIL
  • sglib() - find segments for one sector; three options can be specified: noise removing only, segment finding only, noise removing and then segment finding; calls functions RemoveNoise(), SegmentSearch128() and SegmentSearch192() from SGUTIL
  • sgprint() - print results for one sector
  • sgroad() - fill road finding structures, SWAPING region 1

SGUTIL contains following functions:

  • BinaryPrint32(), PrintWord192(), CopyWord192(), ANDWord192(), ORWord192(), XORWord192(), CheckBitWord192(), SetBitWord192(), ClearWord192(), NegateWord192(), BleedRightWord192(), BleedLeftWord192() - functions for 192-bit words operations
  • RightShiftWord192(), LeftShiftWord192(), RIGHTSHIFT(), RightShiftWord192_00(), RightShiftWord192_01(), RightShiftWord192_02(), RightShiftWord192_03(), LEFTSHIFT(), LeftShiftWord192_00(), LeftShiftWord192_01(), LeftShiftWord192_02(), LeftShiftWord192_03() - macroses for 192-bit words operations
  • RemoveNoise() - works for one superlayer, removes single hits; it is very much the same as original Dave's program, with some optimization; it returns 0 if nothing left after single hits removing, or 1 otherwise
  • SuperLayerSum() - used by RemoveNoise() only; does fast summing of the 6 192-bit words following algorithm suggested by Pavel Degtiarenko; output is the 192-bit word where every bit contains result of the summing of the corresponding 6-bit vertical column

ALGORITHMS DESCRIPTION

192-bit words were summed using binary numbers adding procedure. Simple adder was used, and final adding procedure was used to get a sum of 6 192-bit words representing 6 layers of the Drift Chamber superlayer.