21 const IInterface* parent)
26 declareInterface<TileExpertToolEmscale>(
this);
41 amplitude =
undoOnlCalib(drawerIdx, channel, adc, amplitude, rawDataUnitIn);
49 <<
"in=" << rawDataUnitIn <<
" ,"
50 <<
"out="<< rawDataUnitOut );
55 switch (rawDataUnitIn) {
60 amplitude =
doCalibCis(drawerIdx, channel, adc, amplitude);
62 amplitude =
doCalibLas(drawerIdx, channel, amplitude);
63 amplitude =
doCalibCes(drawerIdx, channel, amplitude);
65 amplitude =
doCalibEms(drawerIdx, channel, amplitude);
73 amplitude =
doCalibLas(drawerIdx, channel, amplitude);
74 amplitude =
doCalibCes(drawerIdx, channel, amplitude);
76 amplitude =
doCalibEms(drawerIdx, channel, amplitude);
83 amplitude =
doCalibEms(drawerIdx, channel, amplitude);
92 <<
"in=" << rawDataUnitIn <<
" ,"
93 <<
"out=" << rawDataUnitOut );
134 amplitude = emScale->applyLaserLinearCalibration(drawerIdx, channel, amplitude);
139 amplitude = emScale->applyLaserNonLinearCalibration(drawerIdx, channel, amplitude);
153 amplitude = emScale->applyChargLinearCalibration(drawerIdx, channel, adc, amplitude);
158 amplitude = emScale->applyChargeNonLinearCalibration(drawerIdx, channel, adc, amplitude);
170 << drawerIdx <<
"/" << channel <<
"/" << adc <<
" , " << onlUnit );
176 amplitude =
doCalibCisOnl(drawerIdx, channel, adc, amplitude);
197 ATH_MSG_VERBOSE(
"---> amplitude in fixed point precision: " << amplitude );
260 ATH_MSG_FATAL(
"Trying to undo online calibration, but COOL folders were not loaded" );
279 return amplitude / val;
#define ATH_MSG_VERBOSE(x)
#define ATH_MSG_WARNING(x)
static float fixedPointPrecision(float val, unsigned int nBits=16)
Returns the input in fixed point precision.
Signals invalid use of TileRawChannelUnit.
Thrown to prevent invalid results, eg.
Class for encoding Tile calibration options into a bit map.
@ OnlineCesiumPicoCoulombs
@ OnlineMegaElectronVolts