#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 |
|
inline |
Definition at line 46 of file LUT.h.
References addressMask_, data_, dataMask_, read(), and write().
Referenced by L1TMuonOverlapParamsViewer::analyze(), l1t::Stage2Layer2TauAlgorithmFirmwareImp1::calibLutIndex(), l1t::Stage2Layer2JetAlgorithmFirmwareImp1::calibrate(), l1t::calibrateAndRankJets(), l1t::calibrateAndRankTaus(), l1t::Stage2Layer2EGammaAlgorithmFirmwareImp1::calibratedPt(), l1t::Stage2Layer2TauAlgorithmFirmwareImp1::calibratedPt(), l1t::Stage2Layer2EGammaAlgorithmFirmwareImp1::calibrationLutIndex(), OMTFProcessor::configure(), l1t::Stage2Layer2EGammaAlgorithmFirmwareImp1::idShape(), l1t::Stage2Layer2EGammaAlgorithmFirmwareImp1::idShapeLutIndex(), l1t::Stage2Layer2EGammaAlgorithmFirmwareImp1::isoLutIndex(), l1t::Stage2Layer2TauAlgorithmFirmwareImp1::isoLutIndex(), l1t::Stage2Layer2TauAlgorithmFirmwareImp1::loadCalibrationLuts(), l1t::MicroGMTRankPtQualLUT::lookup(), l1t::MicroGMTMatchQualSimpleLUT::lookup(), l1t::MicroGMTMatchQualFineLUT::lookup(), l1t::MicroGMTRankPtQualLUT::lookupPacked(), l1t::MicroGMTLUT::lookupPacked(), l1t::MicroGMTMatchQualSimpleLUT::lookupPacked(), l1t::MicroGMTMatchQualFineLUT::lookupPacked(), l1t::Stage2Layer2TauAlgorithmFirmwareImp1::merging(), L1TMuonGlobalParamsViewer::printLUT(), l1t::Stage2Layer2EtSumAlgorithmFirmwareImp1::processEvent(), l1t::Stage2Layer2EGammaAlgorithmFirmwareImp1::processEvent(), l1t::Stage1Layer2EGammaAlgorithmImpPP::processEvent(), l1t::Stage1Layer2TauAlgorithmImpPP::processEvent(), l1t::Stage1Layer2CentralityAlgorithm::processEvent(), l1t::Stage1Layer2TauAlgorithmImpHW::processEvent(), l1t::Stage1Layer2DiTauAlgorithm::processEvent(), l1t::Stage1Layer2EGammaAlgorithmImpHW::processEvent(), l1t::Stage2Layer2EGammaAlgorithmFirmwareImp1::trimCluster(), and write().
|
inline |
Definition at line 54 of file LUT.h.
References data_, and readHeader_().
Referenced by l1t::MicroGMTLUT::initialize(), L1TMuonGlobalParamsViewer::printLUT(), Vispa.Gui.VispaWidget.TextField::setAutosizeFont(), and Vispa.Gui.VispaWidget.TextField::setAutotruncate().
|
inline |
Definition at line 53 of file LUT.h.
References addressMask_, and SiStripPI::max.
Referenced by L1TMuonOverlapParamsViewer::analyze(), L1TMuonGlobalParamsViewer::printLUT(), l1t::Stage1Layer2TauAlgorithmImpPP::processEvent(), l1t::Stage1Layer2DiTauAlgorithm::processEvent(), and l1t::Stage1Layer2TauAlgorithmImpHW::processEvent().
|
inline |
Definition at line 50 of file LUT.h.
References nrBitsAddress_.
Referenced by l1t::Stage2Layer2TauAlgorithmFirmwareImp1::loadCalibrationLuts().
|
inline |
Definition at line 51 of file LUT.h.
References nrBitsData_.
Referenced by OMTFProcessor::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(), mps_splice::line, SiStripPI::max, MAX_ADDRESS_OUTOFRANGE, MISS_ENTRIES, NO_ENTRIES, readHeader_(), AlCaHLTBitMon_QueryRunRegistry::string, SUCCESS, and create_public_lumi_plots::transform.
Referenced by l1t::convertToLUT(), data(), edmIntegrityCheck.PublishToFileSystem::get(), Vispa.Plugins.EdmBrowser.EdmDataAccessor.EdmDataAccessor::goto(), l1t::MicroGMTLUT::initialize(), l1t::MicroGMTLUT::load(), LUT(), l1t::MicroGMTLUT::MicroGMTLUT(), XMLConfigReader::readLUTs(), and Vispa.Plugins.EdmBrowser.EdmDataAccessor.EdmDataAccessor::setFilterBranches().
|
private |
Definition at line 75 of file LUT.cc.
References addressMask_, dataMask_, mps_splice::line, NO_HEADER, nrBitsAddress_, nrBitsData_, AlCaHLTBitMon_QueryRunRegistry::string, SUCCESS, and jets_cff::version.
|
private |
void l1t::LUT::write | ( | std::ostream & | stream | ) | const |
Definition at line 67 of file LUT.cc.
References addressMask_, data(), data_, nrBitsAddress_, and nrBitsData_.
Referenced by data(), pkg.AbstractPkg::generate(), l1t::MicroGMTLUT::MicroGMTLUT(), and l1t::MicroGMTLUT::save().
|
friend |
|
private |
|
private |
|
private |
Definition at line 63 of file LUT.h.
Referenced by data(), read(), and readHeader_().
|
private |
Definition at line 60 of file LUT.h.
Referenced by nrBitsAddress(), readHeader_(), and write().
|
private |
Definition at line 61 of file LUT.h.
Referenced by nrBitsData(), readHeader_(), and write().