trfobj: base generic TRF++ classes

28jun01 1305
Code version 0.64


An introduction to TRF++ may be found at http://www-d0.fnal.gov/~dladams/trf.


Links to code

The description below includes links to the code contained in this package. This version of the code may not be the most recent.

This package contains the following:

The physical components include:

Dependencies are listed in LIBDEPS.

The classes defined in the above components are described below. Each class is defined in a component of the same name unless otherwise indicated. The descriptions are brief. See the header files for details.

Here is a class diagram showing how VisStream is expected to be used.


Message

An abstract interface AbsMessage and concrete template implementations DataMessage and Message are defined in component Message.

Reporter

Reporter provides an abstract interface for reporting messages.

TRF++ object interface

TrfObject is a generic base class. Many TRF++ classes (Surfaces, Hits, Layers,... ) derive from it. It provides virtual methods for returning the true type of an object. It derives from objstream/ObjType to provide an interface for object streaming.

See the TrfObject header and test for examples of use. Note that this class and its base declare but do not define some static member functions to encourage subclasses to override these methods. Unresolved symbols may be found if the subclass overrides are not provided.

TrfReporting Object inherits from TrfObject and adds a list of reporters and a method to pass messages to them.

Visualization base

VisStream is an abstract base describing a visualization stream. Subclasses are defined external to TRF++ and are not directly available. Internally TRF++ may stream objects to a stream of this generic type. These objects are streamed as type TrfObject and so must inherit from that type.


Questions or comments to dladams@fnal.gov.