File indexing completed on 2024-04-06 12:21:54
0001
0002 #ifndef L1Trigger_TrackFindingTracklet_interface_InputRouter_h
0003 #define L1Trigger_TrackFindingTracklet_interface_InputRouter_h
0004
0005 #include "L1Trigger/TrackFindingTracklet/interface/ProcessBase.h"
0006 #include "L1Trigger/TrackFindingTracklet/interface/FPGAWord.h"
0007
0008 #include <string>
0009 #include <vector>
0010 #include <utility>
0011
0012 namespace trklet {
0013
0014 class Settings;
0015 class Globals;
0016 class MemoryBase;
0017 class DTCLinkMemory;
0018 class InputLinkMemory;
0019
0020 class InputRouter : public ProcessBase {
0021 public:
0022 InputRouter(std::string name, Settings const& settings, Globals* global);
0023
0024 ~InputRouter() override = default;
0025
0026 void addOutput(MemoryBase* memory, std::string output) override;
0027 void addInput(MemoryBase* memory, std::string input) override;
0028
0029 void execute();
0030
0031 private:
0032
0033 DTCLinkMemory* dtcstubs_;
0034
0035
0036 std::vector<std::pair<std::pair<unsigned int, unsigned int>, InputLinkMemory*> > irstubs_;
0037 };
0038 };
0039 #endif