Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-07-07 22:33:29

0001 // TrackletEngineDisplaced: this class forms tracklets (pairs of stubs) w/o beamspot constraint for the displaced (extended) tracking.
0002 // Triplet seeds are formed in the TripletEngine from these (=TrackletEngineDisplaced) + a third stub.
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 };  // namespace trklet
0054 #endif