Back to home page

Project CMSSW displayed by LXR

 
 

    


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     //Which seed type and which layer/disk is used
0033     unsigned int iSeed_;
0034     unsigned int layerdisk1_;  //inner seeding layer
0035     unsigned int layerdisk2_;  //outer seeding layer
0036 
0037     //The input vmstubs memories
0038     VMStubsTEMemory* innervmstubs_;
0039     VMStubsTEMemory* outervmstubs_;
0040 
0041     //The output stub pair memory
0042     StubPairsMemory* stubpairs_;
0043 
0044     //The stub pt (bend) lookup table for the inner and outer stub
0045     TrackletLUT innerptlut_;
0046     TrackletLUT outerptlut_;
0047 
0048     //Number of phi bits used in the lookup table
0049     unsigned int innerphibits_;
0050     unsigned int outerphibits_;
0051   };
0052 
0053 };  // namespace trklet
0054 #endif