This package provides tools for mapping the logical connection between
elements of the detector above the physical level. Thus it is not
concerned with the placement in 3-space, but the navigation from
strips to pixel spots to electronic channels, and so forth.
See also Plex Overview
The lightweight object PlexHandle is the general user interface
to the package. These objects are created with a VldContext:-
The handles use the PlexLoanPool as a repository
for shared information and are thus expected to be built on
the stack (i.e. no new) and discarded as necessary in
all but the tightest loops.
The package also a number of small classes for logical element identifiers:
PlexPlaneId, PlexScintMdlId, PlexStripEndId,
PlexMuxBoxId, PlexPixelSpotId, PlexPinDiodeId,
This package makes use of the following tables:
The Plex package can be configured via the PlexLoanPool object.
// PlexLoanPool is a CfgConfigurable
PlexLoanPool* plpool = PlexLoanPool::Instance();
The following are configurable:-
||Maps between individual spots on a pixel (fully specified)
to the connected end of a scintillator strip.
||Maps between a pixel (fully specified)
to the electronics channel use to read it out.
||Identifies the readout type of special channels
(e.g. FlashTrigPMT, odd CalDet eccentricities, ...)
||Maps between the pin diodes and the electronics channels
used to read it out.
||Maps between the scintillator strip end and Flasher LED.
||Maps between the pin diode and Flasher LED.
||Stores the configuration of the veto shield.
Plane/module mapping.to plane view, coverage, F1 orientation.
- Caching in memory
The underlying Plexus is held by the PlexLoanPool
and referenced by a handle is only valid only for a range of time.
One can limit the number of unreferenced plexii are kept:-
plpool->Set("MaxUnref = 1");
- Caching to/from disk
A collection for Plexus objects managed by the
PlexLoanPool can be written/read to/from disk.
One can specify a file for such caching:-
plpool->Set("Cache = '/tmp/myplex.cache'");
- Write cache to disk
One can trigger the writting of the cache to disk at the end
of the job by:-
plpool->Set("CacheWrite = 1");
The initial configuration of the PlexLoanPool can be set
using the environmental variable ENV_PLEX which can contain
a semi-colon separated list of configuration requests.
Last Modified: $Date: 2004/10/13 12:04:03 $