Changes in STEER:
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 7 Jul 2009 14:09:43 +0000 (14:09 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 7 Jul 2009 14:09:43 +0000 (14:09 +0000)
commit021f1396233849af0519d640048a94c092c2feba
tree6d0cfbb14ca9152c8cc70bfc53928799b29851c5
parent5fef96931e08f34ffad7746da857e85104f4d947
Changes in STEER:

      * If the number of detectors is set to 0 (zero) in AliFMDMap, it
        will assume that the data contained is 51,200 entries -
        corresponding exactly to the number of channels in the FMD.
        This is the default mode of operation for most maps - in
        particular the multiplicity map of AliESDFMD.   Before, one
        would specify 3 detectors, 2 rings, 40 sectors, and 512 strips,
        resulting in 3*2*40*512=122880 entries - or 71680 entries that
        would never be used.  This change will effectively more than
        half the amount of memory used by AliESDFMD.
      * Implemented the member function AliFMDMap::CalcCoords to go from
        array index to detector coordinates
        (detector,ring,sector,strip).
      * Implemented *=, /=, +=, and -= between AliFMDMap objects, and
        *, /, +, and - operators that return an AliFMDFloatMap object.
        The implementation will access the contained arrays sequentially
        for optimal speed (unrolled nested loops).   This would allow us
        to the ADC->Energy conversion like

                energy = (adc - pedestal) * gain

        where energy, adc, pedestal, and gain are all AliFMDFloatMap
        objects.  Special care is taken if the maps do not have the same
        dimensions.
      * Implemented AliFMDMap::ForEach that takes an object of a
        sub-class of AliFMDMap::ForOne and applies the relevant
        functional operator to each element.  The internal array is
        accessed sequentially for optimal speed (unrolled nested
        loops).
      * Define AliESDFMD::ForEach that will loop over all entries and
        apply the functional operator of the supplied object of a
        sub-class of AliESDFMD::ForOne to each element in turn.  The
        loop is unrolled.

Changes in FMD:

      * AliFMD***Map now defaults to construct with exactly 51200
        entries.  Maps with fewer entries can still be made (like
        before) by explicit use of constructor arguments.
      * Calibration and digitizer code constructs AliFMD***Map with
        minimal sizes needed.

These changes committed by Peter HRISTOV on behalf of Christian Holm
Christensen.
19 files changed:
FMD/AliFMDAltroMapping.h
FMD/AliFMDBackgroundCorrection.cxx
FMD/AliFMDBackgroundCorrection.h
FMD/AliFMDBaseDigitizer.cxx
FMD/AliFMDBoolMap.cxx
FMD/AliFMDBoolMap.h
FMD/AliFMDCalibGain.cxx
FMD/AliFMDCalibPedestal.cxx
FMD/AliFMDEdepMap.cxx
FMD/AliFMDEdepMap.h
FMD/AliFMDUShortMap.cxx
FMD/AliFMDUShortMap.h
STEER/AliESDFMD.cxx
STEER/AliESDFMD.h
STEER/AliFMDFloatMap.cxx
STEER/AliFMDFloatMap.h
STEER/AliFMDMap.cxx
STEER/AliFMDMap.h
STEER/ESDLinkDef.h