Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:21:55

0001 #ifndef L1Trigger_TrackFindingTracklet_interface_ProjectionRouter_h
0002 #define L1Trigger_TrackFindingTracklet_interface_ProjectionRouter_h
0003 
0004 #include "L1Trigger/TrackFindingTracklet/interface/ProcessBase.h"
0005 #include "L1Trigger/TrackFindingTracklet/interface/TrackletLUT.h"
0006 #include "L1Trigger/TrackFindingTracklet/interface/TrackletProjectionsMemory.h"
0007 #include "L1Trigger/TrackFindingTracklet/interface/AllProjectionsMemory.h"
0008 #include "L1Trigger/TrackFindingTracklet/interface/VMProjectionsMemory.h"
0009 
0010 namespace trklet {
0011 
0012   class Settings;
0013   class Globals;
0014   class MemoryBase;
0015 
0016   class ProjectionRouter : public ProcessBase {
0017   public:
0018     ProjectionRouter(std::string name, Settings const& settings, Globals* global);
0019 
0020     ~ProjectionRouter() override = default;
0021 
0022     void addOutput(MemoryBase* memory, std::string output) override;
0023     void addInput(MemoryBase* memory, std::string input) override;
0024 
0025     void execute();
0026 
0027   private:
0028     unsigned int layerdisk_;
0029 
0030     int nrbits_;
0031     int nphiderbits_;
0032 
0033     //disk projectionrinv table
0034     TrackletLUT rinvbendlut_;
0035 
0036     std::vector<TrackletProjectionsMemory*> inputproj_;
0037 
0038     AllProjectionsMemory* allproj_;
0039     std::vector<VMProjectionsMemory*> vmprojs_;
0040   };
0041 
0042 };  // namespace trklet
0043 #endif