File indexing completed on 2024-04-06 12:21:56
0001 #ifndef L1Trigger_TrackFindingTracklet_interface_TrackletEngine_h
0002 #define L1Trigger_TrackFindingTracklet_interface_TrackletEngine_h
0003
0004 #include "L1Trigger/TrackFindingTracklet/interface/ProcessBase.h"
0005 #include "L1Trigger/TrackFindingTracklet/interface/TrackletLUT.h"
0006
0007 #include <vector>
0008 #include <string>
0009
0010 namespace trklet {
0011
0012 class Settings;
0013 class Globals;
0014 class MemoryBase;
0015 class VMStubsTEMemory;
0016 class StubPairsMemory;
0017
0018 class TrackletEngine : public ProcessBase {
0019 public:
0020 TrackletEngine(std::string name, Settings const& settings, Globals* global);
0021
0022 ~TrackletEngine() override = default;
0023
0024 void addOutput(MemoryBase* memory, std::string output) override;
0025 void addInput(MemoryBase* memory, std::string input) override;
0026
0027 void execute();
0028
0029 void setVMPhiBin();
0030
0031 private:
0032
0033 unsigned int iSeed_;
0034 unsigned int layerdisk1_;
0035 unsigned int layerdisk2_;
0036
0037
0038 VMStubsTEMemory* innervmstubs_;
0039 VMStubsTEMemory* outervmstubs_;
0040
0041
0042 StubPairsMemory* stubpairs_;
0043
0044
0045 TrackletLUT innerptlut_;
0046 TrackletLUT outerptlut_;
0047
0048
0049 unsigned int innerphibits_;
0050 unsigned int outerphibits_;
0051 };
0052
0053 };
0054 #endif