Trybos Project Page
Home of the Trybos, Banks, and BanksUtils products
22 July 1998
Trybos is an Object-Oriented C++ package to read, write, and manipulate
data in CDF YBOS format. While it is currently intended for use by C++
programs, it will eventually provide a substantial YBOS API emulation for
FORTRAN-77 program use. Trybos is coded entirely in Standard C++ and uses no
pre-existing CDF offline software. Files written by Trybos are
indistinguishable from files written by the current CDF YBOS software package.
Both Run 1A 'VMS byte-order' and Run 1B data 'Unix byte-order' data can be read,
and 'Unix byte- order' data format can be written. Trybos has been verified to
operate on at least the following Unix systems with GNU C++ compiler 2.7.2: SGI
IRIX5 and IRIX6, Linux/Intel, DEC Unix; with the KAI C++ v3.2b compiler: SGI
IRIX5 IRIX6, Linux/Intel; and with the MipsPro 7.1 and 7.2 C++ Compiler: SGI
IRIX6.
Back to Contents
- Complementary sources of information:
- Current Trybos and Banks documentation
- Older documentation, still useful for concepts
- Trybos Release Notes (for last several minor versions only)
- Banks Release Notes
Back to Contents
All versions of Trybos are now maintained and released exclusively under the
cdfsoft2 (CVS / SoftRelTools) software management system. Trybos has undergone
significant changes over the last few months as it is prepared to become a solid
foundation package for Run II software development. It has been adapted to
emerging software style, management, and language standards. New users are
encouraged to use version 3.4 or later if possible to avoid the many class name
and interface changes that occurred before this version.
The following versions of Trybos are currently available. Changes occurring
within a minor version number chain, but before before a particular patch, are
listed with "..." as the patch number.
- V03-05-02 : Primitive methods in TRY_Generic_Bank are now virtual. Class
bank name definition scheme is changed, and as a result TRY_Named_Bank is now
abstract. TRY_Package.hh has been split into five headers, one for each of its
independent components. ECVL Bank class and LRID parameters added to Banks
product
- V03-04-20 : Removes redefinition of default argument value - no effect on
user code
- V03-04-19 : Fixes defects in writing records on little-endian machines,
fixes memory leak in TRY_Vector class. TRY_IO_Buffer now inherits privately
(not publicly) from TRY_Vector, and its memory allocation algorithm has
been improved significantly for monotonically increasing Trybos record sizes
- V03-04-12 : Introduce TRY_Named_Bank, complete internal restructuring,
support more bank classes
- V03-03-36 : Fix defect in TRY_Disk_File::open() which caused seg faults on
some systems
- V03-03-35 : Fix defects in TRY_Bank_Type and TRY_Generic_Bank relating to
the creation of banks
- V03-03-33 : Complete overhaul of bank class support, spin-off Banks product
- V03-02-22 : Fix bug in TRY_Hashed_Record::iter_next_same(key)
- V03-02-21 : Fix bug in TRY_Generic_Bank(name,number,etc.), adjust type string
- V03-02... : Fix benign syntax error, unused variables caught by KAI C++
compiler
- V03-02... : Fix iteration after clear(), Generate headers for fixed-size
mono-type banks
- V03-02... : Changes to Record Iter classes, faster and smaller lib
- V03-01-20 : Changes to all class names, adapt to FNAL/CDF C++ style
- V03-00-09 : First version used by Framework, YBOS/F77 can co-exist
Back to Contents
The following are some of the short-term goals for Trybos and Banks development:
- Mid August 1997 :
Intermediate C++ class using Trybos and an AC++ module as examples
- Late August 1997 :
Bank data iterator completion for flat, blocked, and layered banks
- Early September 1997 :
Revamp documentation, resize-able Generic Bank, some lower-priority mod requests
Back to Contents
Trybos Home -
CDF Run II Computing and Software -
CDF Home -
Fermilab Home
Comments on this page may be sent to
Rob Kennedy