File indexing completed on 2024-04-06 12:21:55
0001 #ifndef L1Trigger_TrackFindingTracklet_interface_ProjectionRouter_h
0002 #define L1Trigger_TrackFindingTracklet_interface_ProjectionRouter_h
0003
0004 #include "L1Trigger/TrackFindingTracklet/interface/ProcessBase.h"
0005 #include "L1Trigger/TrackFindingTracklet/interface/TrackletLUT.h"
0006 #include "L1Trigger/TrackFindingTracklet/interface/TrackletProjectionsMemory.h"
0007 #include "L1Trigger/TrackFindingTracklet/interface/AllProjectionsMemory.h"
0008 #include "L1Trigger/TrackFindingTracklet/interface/VMProjectionsMemory.h"
0009
0010 namespace trklet {
0011
0012 class Settings;
0013 class Globals;
0014 class MemoryBase;
0015
0016 class ProjectionRouter : public ProcessBase {
0017 public:
0018 ProjectionRouter(std::string name, Settings const& settings, Globals* global);
0019
0020 ~ProjectionRouter() override = default;
0021
0022 void addOutput(MemoryBase* memory, std::string output) override;
0023 void addInput(MemoryBase* memory, std::string input) override;
0024
0025 void execute();
0026
0027 private:
0028 unsigned int layerdisk_;
0029
0030 int nrbits_;
0031 int nphiderbits_;
0032
0033
0034 TrackletLUT rinvbendlut_;
0035
0036 std::vector<TrackletProjectionsMemory*> inputproj_;
0037
0038 AllProjectionsMemory* allproj_;
0039 std::vector<VMProjectionsMemory*> vmprojs_;
0040 };
0041
0042 };
0043 #endif