#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 L1TMuonOverlapReader::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::Stage2Layer2EGammaAlgorithmFirmwareImp1::processEvent(), l1t::Stage1Layer2EGammaAlgorithmImpPP::processEvent(), l1t::Stage1Layer2TauAlgorithmImpPP::processEvent(), l1t::Stage1Layer2CentralityAlgorithm::processEvent(), l1t::Stage1Layer2TauAlgorithmImpHW::processEvent(), l1t::Stage1Layer2DiTauAlgorithm::processEvent(), l1t::Stage1Layer2EGammaAlgorithmImpHW::processEvent(), and l1t::Stage2Layer2EGammaAlgorithmFirmwareImp1::trimCluster().
|
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 hpstanc_transforms::max.
Referenced by L1TMuonOverlapReader::analyze(), L1TMuonGlobalParamsViewer::printLUT(), l1t::Stage1Layer2TauAlgorithmImpPP::processEvent(), l1t::Stage1Layer2TauAlgorithmImpHW::processEvent(), and l1t::Stage1Layer2DiTauAlgorithm::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 35 of file LUT.cc.
References mps_splice::entry, spr::find(), geometryCSVtoXML::line, hpstanc_transforms::max, AlCaHLTBitMon_QueryRunRegistry::string, definitions::SUCCESS, and create_public_lumi_plots::transform.
Referenced by l1t::convertToLUT(), data(), edmIntegrityCheck.PublishToFileSystem::get(), l1t::Setting::getLUT(), Vispa.Plugins.EdmBrowser.EdmDataAccessor.EdmDataAccessor::goto(), l1t::MicroGMTLUT::initialize(), l1t::MicroGMTLUT::load(), LUT(), l1t::MicroGMTLUT::MicroGMTLUT(), XMLConfigReader::readLUT(), and Vispa.Plugins.EdmBrowser.EdmDataAccessor.EdmDataAccessor::setFilterBranches().
|
private |
Definition at line 94 of file LUT.cc.
References geometryCSVtoXML::line, AlCaHLTBitMon_QueryRunRegistry::string, definitions::SUCCESS, and jetIDSelector_cfi::version.
Referenced by empty().
|
private |
void l1t::LUT::write | ( | std::ostream & | stream | ) | const |
Definition at line 86 of file LUT.cc.
References data.
Referenced by data(), pkg.AbstractPkg::generate(), l1t::MicroGMTLUT::MicroGMTLUT(), and l1t::MicroGMTLUT::save().
|
friend |
|
private |
|
private |
|
private |
Definition at line 60 of file LUT.h.
Referenced by nrBitsAddress().
|
private |
Definition at line 61 of file LUT.h.
Referenced by nrBitsData().