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