CMS 3D CMS Logo

TrackletProcessor.h
Go to the documentation of this file.
1 // TrackletProcessor: this class is an evolved version, performing the tasks of the TrackletEngine+TrackletCalculator.
2 // It will combine TEs that feed into a TC to a single module.
3 #ifndef L1Trigger_TrackFindingTracklet_interface_TrackletProcessor_h
4 #define L1Trigger_TrackFindingTracklet_interface_TrackletProcessor_h
5 
10 
11 #include <vector>
12 #include <tuple>
13 #include <map>
14 
15 namespace trklet {
16 
17  class Settings;
18  class Globals;
19  class MemoryBase;
20  class AllStubsMemory;
21  class AllInnerStubsMemory;
22  class VMStubsTEMemory;
23 
25  public:
26  TrackletProcessor(std::string name, Settings const& settings, Globals* globals);
27 
28  ~TrackletProcessor() override = default;
29 
31 
32  void addOutput(MemoryBase* memory, std::string output) override;
33 
34  void addInput(MemoryBase* memory, std::string input) override;
35 
36  void execute(unsigned int iSector, double phimin, double phimax);
37 
38  private:
39  int iTC_;
40  int iAllStub_;
41 
42  unsigned int maxStep_;
43 
45 
46  // istub imem start imem end imem
47  std::tuple<CircularBuffer<TEData>, unsigned int, unsigned int, unsigned int, unsigned int> tebuffer_;
48 
49  std::vector<TrackletEngineUnit> teunits_;
50 
51  std::vector<AllInnerStubsMemory*> innerallstubs_;
52  std::vector<AllStubsMemory*> outerallstubs_;
53 
57 
60 
63 
64  unsigned int nbitszfinebintable_;
65  unsigned int nbitsrfinebintable_;
66 
67  unsigned int nbitsrzbin_;
68 
69  TrackletLUT innerTable_; //projection to next layer/disk
70  TrackletLUT innerOverlapTable_; //projection to disk from layer
71  };
72 
73 }; // namespace trklet
74 #endif
void execute(unsigned int iSector, double phimin, double phimax)
TrackletProcessor(std::string name, Settings const &settings, Globals *globals)
void addInput(MemoryBase *memory, std::string input) override
std::vector< AllStubsMemory * > outerallstubs_
void addOutputProjection(TrackletProjectionsMemory *&outputProj, MemoryBase *memory)
static std::string const input
Definition: EdmProvDump.cc:50
std::vector< TrackletEngineUnit > teunits_
std::tuple< CircularBuffer< TEData >, unsigned int, unsigned int, unsigned int, unsigned int > tebuffer_
VMStubsTEMemory * outervmstubs_
void addOutput(MemoryBase *memory, std::string output) override
std::vector< AllInnerStubsMemory * > innerallstubs_
Definition: output.py:1
~TrackletProcessor() override=default