#include <LUT.h>
Public Types | |
enum | ReadCodes { SUCCESS = 0, NO_ENTRIES = 1, DUP_ENTRIES = 2, MISS_ENTRIES = 3, MAX_ADDRESS_OUTOFRANGE = 4, NO_HEADER = 5 } |
Public Member Functions | |
int | data (unsigned int address) const |
bool | empty () const |
LUT () | |
LUT (std::istream &stream) | |
unsigned int | maxSize () const |
unsigned int | nrBitsAddress () const |
unsigned int | nrBitsData () const |
int | read (std::istream &stream) |
void | write (std::ostream &stream) const |
~LUT () | |
Private Member Functions | |
int | readHeader_ (std::istream &) |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
Private Attributes | |
unsigned int | addressMask_ |
std::vector< int > | data_ |
unsigned int | dataMask_ |
unsigned int | nrBitsAddress_ |
unsigned int | nrBitsData_ |
Friends | |
class | boost::serialization::access |
template<typename CondSerializationT , typename Enabled > | |
struct | cond::serialization::access |
Description: A class implimentating a look up table
Implementation: Internally stores data in vector filled with 32 bit ints address and output is masked to specifed number of bits vector only allocates as necessary, eg we may have a 32 bit address but we obviously dont want to allocate a 4gb vector
Error handling: currently waiting guidance on how to deal with this Exceptions are currently forbiden, emulator fails should not impact on the rest of the software chain. As such, everything silently fails gracefully
enum l1t::LUT::ReadCodes |
|
inlineexplicit |
Definition at line 42 of file LUT.h.
References read().
|
inline |
Definition at line 46 of file LUT.h.
References addressMask_, data_, and dataMask_.
Referenced by L1TMuonOverlapParamsViewer::analyze(), l1t::calibrateAndRankJets(), l1t::calibrateAndRankTaus(), OMTFProcessor< GoldenPatternType >::configure(), ProcessorBase< GoldenPatternType >::configure(), l1t::Stage2Layer2TauAlgorithmFirmwareImp1::loadCalibrationLuts(), L1TMuonGlobalParamsViewer::printLUT(), and l1t::Stage1Layer2TauAlgorithmImpHW::processEvent().
|
inline |
Definition at line 58 of file LUT.h.
References data_.
Referenced by L1TMuonGlobalParamsViewer::printLUT().
|
inline |
Definition at line 55 of file LUT.h.
References addressMask_, and SiStripPI::max.
Referenced by L1TMuonOverlapParamsViewer::analyze(), L1TMuonGlobalParamsViewer::printLUT(), and l1t::Stage1Layer2TauAlgorithmImpHW::processEvent().
|
inline |
Definition at line 52 of file LUT.h.
References nrBitsAddress_.
Referenced by l1t::Stage2Layer2TauAlgorithmFirmwareImp1::loadCalibrationLuts().
|
inline |
Definition at line 53 of file LUT.h.
References nrBitsData_.
Referenced by OMTFProcessor< GoldenPatternType >::configure(), ProcessorBase< GoldenPatternType >::configure(), and l1t::Stage2Layer2TauAlgorithmFirmwareImp1::loadCalibrationLuts().
int l1t::LUT::read | ( | std::istream & | stream | ) |
Definition at line 11 of file LUT.cc.
References a, addressMask_, b, data_, dataMask_, DUP_ENTRIES, mps_splice::entry, spr::find(), geometryCSVtoXML::line, SiStripPI::max, MAX_ADDRESS_OUTOFRANGE, MISS_ENTRIES, NO_ENTRIES, readHeader_(), AlCaHLTBitMon_QueryRunRegistry::string, SUCCESS, and HcalDetIdTransform::transform().
Referenced by l1t::convertToLUT(), edmIntegrityCheck.PublishToFileSystem::get(), LUT(), l1t::MicroGMTLUT::MicroGMTLUT(), and XMLConfigReader::readLUTs().
|
private |
Definition at line 72 of file LUT.cc.
References geometryCSVtoXML::line, AlCaHLTBitMon_QueryRunRegistry::string, and relval_steps::version.
Referenced by read().
|
private |
void l1t::LUT::write | ( | std::ostream & | stream | ) | const |
Definition at line 65 of file LUT.cc.
References data.
Referenced by pkg.AbstractPkg::generate(), and l1t::MicroGMTLUT::MicroGMTLUT().
|
friend |
|
private |
|
private |
|
private |
|
private |
Definition at line 63 of file LUT.h.
Referenced by nrBitsAddress().
|
private |
Definition at line 64 of file LUT.h.
Referenced by nrBitsData().