Trybos v3.3 has been reposited and is now publicly available. This release is a substantial overhaul of the bank support mechanism and the internal organization of Trybos. The File and Record interfaces have not been changed, but the Bank interface has been significantly changed. The Trybos product has also spun-off the 130+ auto-generated bank classes and related software into the new "Banks" product, to be released in next few days. The WWW documentation will be updated to document the Trybos v3.3 interface in the new few days as well. The intent of this initial release of Trybos v3.3 is to make the new Bank interface in the Trybos and Banks products available for review for about one week. If no significant problems are found in it, then the merging of it into cdfsoft2 will begin. Anyone with specific bank classes will have to adapt those classes to the new interface, many examples of which will be available in the Banks product. Rob K. kennedy@fnal.gov -------------------------------------------------------------------------------- Some of the Details =================== *) New class: TRY_Bank_Name to describe legal YBOS bank names *) New class: TRY_Bank_Number to describe legal YBOS bank numbers *) New class: TRY_Bank_Type to describe legal YBOS bank type descriptions *) New class: TRY_Vector<> is similar to STL vector<>, but with additions to support copy-by-value and copy-by-reference within the same class. Trybos does not yet fully take advantage of this class, but will in future patches. *) Completely revised: TRY_Generic_Bank Interface contains new accessors and modifiers, as well as protected tools for specific bank classes to get/set data elements properly. The implementation has been completely rewritten to take advantage of TRY_Vector<>, allowing copy-by-reference and copy-by-value to minimize excessive data copying. *) Mildly revised: TRY_Record_Iter_Any, TRY_Record_Iter_Same Added a few accessors, and the ability to initialize an instance of one type of iterator with the value of another. *) $TRYBOS_DIR/private has been cleared of all files. The bank classes for CMUO and LRID have moved to the Banks product. The p4_vector and three_vector classes are no longer used in examples, and are removed from Trybos. These were only intended to be toys for demonstration purposes, and will be replaced by full-fledged equivalents in the future. Also, the file TRY_jpsi_2mu_search.cc in $TRYBOS_DIR/examples has been moved into the Banks product since it depends on a specific bank class, CMUO_Bank. With these changes, Trybos will not depend on the Banks product, though the Banks product will necessarily depend on Trybos. *) TRY_Hash_Table was renamed to TRY_Search_Table since more than one hash table is used inside of Trybos. This change is not user-visible. !) Trybos efficiency remains about the same. Trybos requires less than 50% as much CPU as YBOS to read a disk file, convert its data representation (VMS->Unix), and perform a simple J/Psi search using CMUO banks. This test compares CPU times for optimized TRY_jpsi_2mu_search example (now in Banks product) and the appropriate modules in the optimized A_C job in $TRYBOS_DIR/compare.