Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:21:54

0001 // InputRouter: sorts input stubs into layer/disk and phi region
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     //The input stub memories
0033     DTCLinkMemory* dtcstubs_;
0034 
0035     //The all stub memories - the ints are layerdisk and phiregion
0036     std::vector<std::pair<std::pair<unsigned int, unsigned int>, InputLinkMemory*> > irstubs_;
0037   };
0038 };  // namespace trklet
0039 #endif