1 #ifndef multififo_regionizer_ref_h 2 #define multififo_regionizer_ref_h 13 class EGInputSelectorEmulator;
14 struct EGInputSelectorEmuConfig;
22 unsigned int ntklinks,
23 unsigned int ncalolinks,
35 unsigned int nHCalLinks,
36 unsigned int nECalLinks,
60 bool step(
bool newEvent,
61 const std::vector<l1ct::TkObjEmu>&
links,
62 std::vector<l1ct::TkObjEmu>&
out,
64 bool step(
bool newEvent,
65 const std::vector<l1ct::EmCaloObjEmu>&
links,
66 std::vector<l1ct::EmCaloObjEmu>&
out,
68 bool step(
bool newEvent,
69 const std::vector<l1ct::HadCaloObjEmu>&
links,
70 std::vector<l1ct::HadCaloObjEmu>&
out,
72 bool step(
bool newEvent,
73 const std::vector<l1ct::MuObjEmu>&
links,
74 std::vector<l1ct::MuObjEmu>&
out,
76 bool step(
bool newEvent,
77 const std::vector<l1ct::TkObjEmu>& links_tk,
78 const std::vector<l1ct::HadCaloObjEmu>& links_hadCalo,
79 const std::vector<l1ct::EmCaloObjEmu>& links_emCalo,
80 const std::vector<l1ct::MuObjEmu>& links_mu,
81 std::vector<l1ct::TkObjEmu>& out_tk,
82 std::vector<l1ct::HadCaloObjEmu>& out_hadCalo,
83 std::vector<l1ct::EmCaloObjEmu>& out_emCalo,
84 std::vector<l1ct::MuObjEmu>& out_mu,
87 const std::vector<l1ct::TkObjEmu>& tk_out,
88 const std::vector<l1ct::EmCaloObjEmu>& em_out,
89 const std::vector<l1ct::HadCaloObjEmu>& calo_out,
90 const std::vector<l1ct::MuObjEmu>& mu_out,
96 std::vector<l1ct::TkObjEmu>&
links,
97 std::vector<bool>&
valid);
100 std::vector<l1ct::HadCaloObjEmu>&
links,
101 std::vector<bool>&
valid);
104 std::vector<l1ct::EmCaloObjEmu>&
links,
105 std::vector<bool>&
valid);
108 std::vector<l1ct::MuObjEmu>&
links,
109 std::vector<bool>&
valid);
110 template <
typename T>
112 std::vector<bool> unused;
139 template <
typename T>
142 std::vector<T>&
links,
143 std::vector<bool>&
valid);
std::vector< l1ct::multififo_regionizer::Route > emCaloRoutes_
const unsigned int NCALO_LINKS
void fillLinks(unsigned int iclock, const RegionizerDecodedInputs &in, std::vector< l1ct::TkObjEmu > &links, std::vector< bool > &valid)
std::unique_ptr< EGInputSelectorEmulator > interceptor_
const unsigned int NMU_LINKS
enum l1ct::MultififoRegionizerEmulator::EmInterceptMode emInterceptMode_
void setEgInterceptMode(bool afterFifo, const l1ct::EGInputSelectorEmuConfig &interceptorConfig)
multififo_regionizer::Regionizer< l1ct::TkObjEmu > tkRegionizer_
const unsigned int ECAL_LINKS
MultififoRegionizerEmulator(unsigned int nendcaps, unsigned int nclocks, unsigned int ntklinks, unsigned int ncalolinks, unsigned int ntk, unsigned int ncalo, unsigned int nem, unsigned int nmu, bool streaming, unsigned int outii, unsigned int pauseii, bool useAlsoVtxCoords)
const unsigned int NTK_LINKS
bool step(bool newEvent, const std::vector< l1ct::TkObjEmu > &links, std::vector< l1ct::TkObjEmu > &out, bool mux=true)
void run(const RegionizerDecodedInputs &in, std::vector< PFInputRegion > &out) override
const unsigned int HCAL_LINKS
void fillLinks(unsigned int iclock, const RegionizerDecodedInputs &in, std::vector< T > &links)
const unsigned int NCALO_SECTORS
std::vector< l1ct::multififo_regionizer::Route > tkRoutes_
void toFirmware(const std::vector< l1ct::TkObjEmu > &emu, TkObj fw[])
static BarrelSetup parseBarrelSetup(const std::string &setup)
void destream(int iclock, const std::vector< l1ct::TkObjEmu > &tk_out, const std::vector< l1ct::EmCaloObjEmu > &em_out, const std::vector< l1ct::HadCaloObjEmu > &calo_out, const std::vector< l1ct::MuObjEmu > &mu_out, PFInputRegion &out)
std::vector< l1ct::multififo_regionizer::Route > muRoutes_
const unsigned int NTK_SECTORS
std::vector< l1ct::multififo_regionizer::Route > caloRoutes_
multififo_regionizer::Regionizer< l1ct::EmCaloObjEmu > emCaloRegionizer_
void fillCaloLinks(unsigned int iclock, const std::vector< DetectorSector< T >> &in, std::vector< T > &links, std::vector< bool > &valid)
~MultififoRegionizerEmulator() override
void initSectorsAndRegions(const RegionizerDecodedInputs &in, const std::vector< PFInputRegion > &out) override
multififo_regionizer::Regionizer< l1ct::MuObjEmu > muRegionizer_
multififo_regionizer::Regionizer< l1ct::HadCaloObjEmu > hadCaloRegionizer_