File indexing completed on 2023-03-17 11:13:47
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 int iAllStub_;
0044 unsigned int maxStep_;
0045 int count_;
0046 unsigned int layerdisk_;
0047
0048 int layer1_;
0049 int layer2_;
0050 int layer3_;
0051 int disk1_;
0052 int disk2_;
0053 int disk3_;
0054
0055 int firstphibits_;
0056 int secondphibits_;
0057 int thirdphibits_;
0058
0059 int nbitszfinebintable_;
0060 int nbitsrfinebintable_;
0061
0062 TrackletLUT innerTable_;
0063 TrackletLUT innerOverlapTable_;
0064 TrackletLUT innerThirdTable_;
0065
0066 std::vector<StubPairsMemory*> stubpairs_;
0067
0068 std::vector<VMStubsTEMemory*> innervmstubs_;
0069 std::vector<VMStubsTEMemory*> outervmstubs_;
0070
0071 StubTripletsMemory* stubtriplets_;
0072
0073 std::map<std::string, std::vector<std::vector<std::string> > > tmpSPTable_;
0074 std::map<std::string, std::vector<std::map<std::string, unsigned> > > spTable_;
0075 std::vector<bool> table_;
0076 };
0077
0078 };
0079 #endif