File indexing completed on 2024-04-06 12:21:56
0001
0002
0003 #ifndef L1Trigger_TrackFindingTracklet_interface_TrackletEngineDisplaced_h
0004 #define L1Trigger_TrackFindingTracklet_interface_TrackletEngineDisplaced_h
0005
0006 #include "L1Trigger/TrackFindingTracklet/interface/ProcessBase.h"
0007
0008 #include <string>
0009 #include <vector>
0010 #include <set>
0011
0012 namespace trklet {
0013
0014 class Settings;
0015 class Globals;
0016 class MemoryBase;
0017 class VMStubsTEMemory;
0018 class StubPairsMemory;
0019
0020 class TrackletEngineDisplaced : public ProcessBase {
0021 public:
0022 TrackletEngineDisplaced(std::string name, Settings const& settings, Globals* global);
0023
0024 ~TrackletEngineDisplaced() override;
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 void readTables();
0032
0033 short memNameToIndex(const std::string& name);
0034
0035 private:
0036 int layer1_;
0037 int layer2_;
0038 int disk1_;
0039 int disk2_;
0040
0041 std::vector<VMStubsTEMemory*> firstvmstubs_;
0042 VMStubsTEMemory* secondvmstubs_;
0043
0044 std::vector<StubPairsMemory*> stubpairs_;
0045
0046 std::vector<std::set<short> > table_;
0047
0048 int firstphibits_;
0049 int secondphibits_;
0050
0051 int iSeed_;
0052 };
0053 };
0054 #endif