Muon digit container: Classes
D. Adams
15oct01 1630
We begin our design by identifying the classes and other types
needed to implement the muon digit container.
There are four muon technolgies. Below we will use Xyz or XYZ
to stand in for each of these:
- Xyz = Mdt, Csc, Rpc and Tgc
- XYZ = MDT, CSC, RPC and TGC
Classes are transient (i.e. not DataObject) unless otherwise
indicated.
Digit identifier
There are existing classes
MuonID and XYZ_ID
which need to be updated for the new indentifier convention.
We need a way to sensibly order these.
Module identifier
We need to label modules (chambers) for each technology. Can we
use the above identifiers or do we need to add module identifiers
XyzModuleId?
Digit
The digits are described by existing classes XYZ_Digit.
Changes are planned for these classes that may affect our
implementaion.
Digit module container
We will define a container XyzModuleDigitContainer to hold the
digits associated with a module. Or can this just be
vector<XYZ_Digit> or set<XYZ_Digit>?
Digit technology container
We will define the overall digit container for each technology
XyzDigitContainer. It returns module containers of the same
technology.
Digit ROD subcontainers
There are persistent classes (DataObject's) that hold the
collection of digits associated with a readout driver. We
must provide these and converters from zebra, to and from
raw format and to and from each standard persistent format
(presently root and objectivity). Call these XyzRodContainer.
Identifiable container
This template is supplied by Ma and Meesen. It is used by the
technology container to access the ROD subcontainers.
The subcontainers are only filled when they are accessed.
We use IndentifiableContainer<XyzRodContainer>.
dladams@bnl.gov