CMS 3D CMS Logo

GeometricProcessor.h
Go to the documentation of this file.
1 #ifndef L1Trigger_TrackerTFP_GeometricProcessor_h
2 #define L1Trigger_TrackerTFP_GeometricProcessor_h
3 
7 
8 #include <vector>
9 #include <deque>
10 
11 namespace trackerTFP {
12 
13  // Class to route Stubs of one region to one stream per sector
15  public:
17  const tt::Setup* setup_,
18  const DataFormats* dataFormats,
19  int region);
21 
22  // read in and organize input product (fill vector input_)
23  void consume(const TTDTC& ttDTC);
24  // fill output products
25  void produce(tt::StreamsStub& accepted, tt::StreamsStub& lost);
26 
27  private:
28  // remove and return first element of deque, returns nullptr if empty
29  template <class T>
30  T* pop_front(std::deque<T*>& ts) const;
31 
32  // true if truncation is enbaled
34  // provides run-time constants
35  const tt::Setup* setup_;
36  // provides dataformats
38  // processing region (0 - 8)
39  const int region_;
40  // storage of input stubs
41  std::vector<StubPP> stubsPP_;
42  // storage of output stubs
43  std::vector<StubGP> stubsGP_;
44  // h/w liked organized pointer to input stubs
45  std::vector<std::vector<std::deque<StubPP*>>> input_;
46  };
47 
48 } // namespace trackerTFP
49 
50 #endif
Class to process and provide run-time constants used by Track Trigger emulators.
Definition: Setup.h:44
std::vector< StreamStub > StreamsStub
Definition: TTTypes.h:66
GeometricProcessor(const edm::ParameterSet &iConfig, const tt::Setup *setup_, const DataFormats *dataFormats, int region)
std::vector< std::vector< std::deque< StubPP * > > > input_
T * pop_front(std::deque< T *> &ts) const
std::vector< StubPP > stubsPP_
std::vector< StubGP > stubsGP_
void produce(tt::StreamsStub &accepted, tt::StreamsStub &lost)
Class to store hardware like structured TTStub Collection used by Track Trigger emulators.
Definition: TTDTC.h:17
void consume(const TTDTC &ttDTC)
Class to calculate and provide dataformats used by Track Trigger emulator.
Definition: DataFormats.h:216
long double T