Back to home page

Project CMSSW displayed by LXR

 
 

    


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_;  //number of bits for rinv in stub bend LUT
0039 
0040     //LUT for bend consistency
0041     TrackletLUT luttable_;
0042   };
0043 
0044 };  // namespace trklet
0045 #endif