ATLAS Offline Software
|
LAr supercell data are received by the jFEX in a 10-bit multi-linear encoded form. More...
#include <jFEXCompression.h>
Static Public Member Functions | |
static unsigned int | Compress (float floatEt, bool empty=false) |
Compress data. More... | |
static int | Expand (unsigned int code) |
Uncompress data. More... | |
static unsigned int | Threshold (unsigned int code, int threshold=-800) |
Apply threshold to compressed data. More... | |
static unsigned int | Linearize (unsigned int code, int threshold=0) |
Linearize LAr code to jFEX internal format. More... | |
Static Private Attributes | |
static const int | s_maxET = 800000 |
Maximum ET value that can be encoded. More... | |
static const unsigned int | s_nRanges = 5 |
Number of ranges. More... | |
static const int | s_steps [s_nRanges] = {25, 50, 100, 200, 400} |
Step sizes in each range, MeV. More... | |
static const int | s_minET [s_nRanges] = {-3150, 6400, 25600, 102400, 409600} |
Minimum ET values in each range, MeV. More... | |
static const int | s_minCode [s_nRanges] = {2, 384, 768, 1536, 3072} |
Minimum code value in each range. More... | |
static const int | s_NoData = 0 |
Indicates no data present. More... | |
static const unsigned int | s_LArUnderflow = 1 |
LAr underflow code. More... | |
static const unsigned int | s_LArOverflow = 4048 |
LAr overflow code. More... | |
static const unsigned int | s_LArMaxCode = 4095 |
Maximum code value, values 4049 to 4094 reserved. More... | |
static const unsigned int | s_LArInvalid = 4095 |
Invalid code value. More... | |
static const unsigned int | s_jFEXstep = 25 |
L1Calo ET digit step. More... | |
static const unsigned int | s_jFEXOverflow = 0xffff |
L1Calo saturated/overflow. More... | |
static const int | s_error = -99999 |
Error return value. More... | |
LAr supercell data are received by the jFEX in a 10-bit multi-linear encoded form.
This simple utility class contains 3 functions:
Definition at line 35 of file jFEXCompression.h.
|
static |
|
static |
Uncompress data.
Now expand code into an ET value. Start by finding what range the code is in
Now expand the value
Definition at line 58 of file jFEXCompression.cxx.
|
static |
Linearize LAr code to jFEX internal format.
Apply the threshold. Since jFEX ET is positive, minimum threshold is 0.
Expand the ET value
Convert to jFEX digit scale
Definition at line 94 of file jFEXCompression.cxx.
|
static |
Apply threshold to compressed data.
Convert threshold into a compressed code
Zero code if < threshold
Definition at line 82 of file jFEXCompression.cxx.
|
staticprivate |
Error return value.
Definition at line 78 of file jFEXCompression.h.
|
staticprivate |
L1Calo saturated/overflow.
Definition at line 76 of file jFEXCompression.h.
|
staticprivate |
L1Calo ET digit step.
Definition at line 74 of file jFEXCompression.h.
|
staticprivate |
Invalid code value.
Definition at line 72 of file jFEXCompression.h.
|
staticprivate |
Maximum code value, values 4049 to 4094 reserved.
Definition at line 70 of file jFEXCompression.h.
|
staticprivate |
LAr overflow code.
Definition at line 68 of file jFEXCompression.h.
|
staticprivate |
LAr underflow code.
Definition at line 66 of file jFEXCompression.h.
|
staticprivate |
Maximum ET value that can be encoded.
Definition at line 54 of file jFEXCompression.h.
|
staticprivate |
Minimum code value in each range.
Definition at line 62 of file jFEXCompression.h.
|
staticprivate |
Minimum ET values in each range, MeV.
Definition at line 60 of file jFEXCompression.h.
|
staticprivate |
Indicates no data present.
Definition at line 64 of file jFEXCompression.h.
|
staticprivate |
Number of ranges.
Definition at line 56 of file jFEXCompression.h.
|
staticprivate |
Step sizes in each range, MeV.
Definition at line 58 of file jFEXCompression.h.