File indexing completed on 2024-11-15 23:40:44
0001
0002 #ifndef L1Trigger_TrackFindingTracklet_interface_TrackletProcessorDisplaced_h
0003 #define L1Trigger_TrackFindingTracklet_interface_TrackletProcessorDisplaced_h
0004
0005 #include "L1Trigger/TrackFindingTracklet/interface/TrackletCalculatorBase.h"
0006 #include "L1Trigger/TrackFindingTracklet/interface/TrackletCalculatorDisplaced.h"
0007 #include "L1Trigger/TrackFindingTracklet/interface/TrackletLUT.h"
0008 #include "L1Trigger/TrackFindingTracklet/interface/CircularBuffer.h"
0009 #include "L1Trigger/TrackFindingTracklet/interface/TrackletEngineUnit.h"
0010 #include "L1Trigger/TrackFindingTracklet/interface/TrackletParametersMemory.h"
0011 #include "L1Trigger/TrackFindingTracklet/interface/TrackletProjectionsMemory.h"
0012
0013 #include <vector>
0014 #include <tuple>
0015 #include <map>
0016
0017 namespace trklet {
0018
0019 class Settings;
0020 class Globals;
0021 class MemoryBase;
0022 class AllStubsMemory;
0023 class AllInnerStubsMemory;
0024 class VMStubsTEMemory;
0025 class StubPairsMemory;
0026
0027 class TrackletProcessorDisplaced : public TrackletCalculatorDisplaced {
0028 public:
0029 TrackletProcessorDisplaced(std::string name, Settings const& settings, Globals* globals);
0030
0031 ~TrackletProcessorDisplaced() override = default;
0032
0033 void addOutputProjection(TrackletProjectionsMemory*& outputProj, MemoryBase* memory);
0034
0035 void addOutput(MemoryBase* memory, std::string output) override;
0036
0037 void addInput(MemoryBase* memory, std::string input) override;
0038
0039 void execute(unsigned int iSector, double phimin, double phimax);
0040
0041 private:
0042 int iTC_;
0043
0044 unsigned int layerdisk1_;
0045 unsigned int layerdisk2_;
0046 unsigned int layerdisk3_;
0047
0048 int firstphibits_;
0049 int secondphibits_;
0050 int thirdphibits_;
0051
0052 int nbitszfinebintable_;
0053 int nbitsrfinebintable_;
0054
0055 TrackletLUT innerTable_;
0056 TrackletLUT innerThirdTable_;
0057
0058 std::vector<VMStubsTEMemory*> innervmstubs_;
0059 std::vector<VMStubsTEMemory*> outervmstubs_;
0060 };
0061
0062 };
0063 #endif