CMS 3D CMS Logo

Stage2MainProcessorFirmware.h
Go to the documentation of this file.
1 
10 //
11 //
12 
13 #ifndef Stage2MainProcessorFirmware_H
14 #define Stage2MainProcessorFirmware_H
15 
28 
30 
31 #include <memory>
32 
33 namespace l1t {
34 
35  // first iteration
37  public:
38  Stage2MainProcessorFirmwareImp1(unsigned fwv, CaloParamsHelper const* params);
39 
40  ~Stage2MainProcessorFirmwareImp1() override = default;
41 
42  void processEvent(const std::vector<l1t::CaloTower> & inTowers,
43  std::vector<l1t::CaloTower> & outTowers,
44  std::vector<l1t::CaloCluster> & clusters,
45  std::vector<l1t::EGamma> & mpEGammas,
46  std::vector<l1t::Tau> & mpTaus,
47  std::vector<l1t::Jet> & mpJets,
48  std::vector<l1t::EtSum> & mpSums,
49  std::vector<l1t::EGamma> & egammas,
50  std::vector<l1t::Tau> & taus,
51  std::vector<l1t::Jet> & jets,
52  std::vector<l1t::EtSum> & etSums) override;
53 
54  void print(std::ostream&) const;
55 
56  friend std::ostream& operator<<(std::ostream& o, const Stage2MainProcessorFirmwareImp1 & p) { p.print(o); return o; }
57 
58  private:
59 
60  std::unique_ptr<Stage2TowerDecompressAlgorithm> m_towerAlgo;
61  std::unique_ptr<Stage2Layer2ClusterAlgorithm> m_egClusterAlgo;
62  std::unique_ptr<Stage2Layer2EGammaAlgorithm> m_egAlgo;
63  std::unique_ptr<Stage2Layer2ClusterAlgorithm> m_tauClusterAlgo;
64  std::unique_ptr<Stage2Layer2TauAlgorithm> m_tauAlgo;
65  std::unique_ptr<Stage2Layer2JetAlgorithm> m_jetAlgo;
66  std::unique_ptr<Stage2Layer2EtSumAlgorithm> m_sumAlgo;
67  std::unique_ptr<Stage2Layer2JetSumAlgorithm> m_jetSumAlgo;
68 
69  std::unique_ptr<Stage2Layer2DemuxEGAlgo> m_demuxEGAlgo;
70  std::unique_ptr<Stage2Layer2DemuxTauAlgo> m_demuxTauAlgo;
71  std::unique_ptr<Stage2Layer2DemuxJetAlgo> m_demuxJetAlgo;
72  std::unique_ptr<Stage2Layer2DemuxSumsAlgo> m_demuxSumsAlgo;
73 
74  };
75 
76 }
77 
78 #endif
std::unique_ptr< Stage2Layer2DemuxSumsAlgo > m_demuxSumsAlgo
std::unique_ptr< Stage2Layer2JetSumAlgorithm > m_jetSumAlgo
std::unique_ptr< Stage2TowerDecompressAlgorithm > m_towerAlgo
delete x;
Definition: CaloConfig.h:22
std::unique_ptr< Stage2Layer2EGammaAlgorithm > m_egAlgo
~Stage2MainProcessorFirmwareImp1() override=default
std::unique_ptr< Stage2Layer2DemuxTauAlgo > m_demuxTauAlgo
std::unique_ptr< Stage2Layer2DemuxEGAlgo > m_demuxEGAlgo
std::unique_ptr< Stage2Layer2ClusterAlgorithm > m_tauClusterAlgo
vector< PseudoJet > jets
std::unique_ptr< Stage2Layer2DemuxJetAlgo > m_demuxJetAlgo
Stage2MainProcessorFirmwareImp1(unsigned fwv, CaloParamsHelper const *params)
void processEvent(const std::vector< l1t::CaloTower > &inTowers, std::vector< l1t::CaloTower > &outTowers, std::vector< l1t::CaloCluster > &clusters, std::vector< l1t::EGamma > &mpEGammas, std::vector< l1t::Tau > &mpTaus, std::vector< l1t::Jet > &mpJets, std::vector< l1t::EtSum > &mpSums, std::vector< l1t::EGamma > &egammas, std::vector< l1t::Tau > &taus, std::vector< l1t::Jet > &jets, std::vector< l1t::EtSum > &etSums) override
std::unique_ptr< Stage2Layer2JetAlgorithm > m_jetAlgo
std::unique_ptr< Stage2Layer2TauAlgorithm > m_tauAlgo
std::unique_ptr< Stage2Layer2ClusterAlgorithm > m_egClusterAlgo
std::unique_ptr< Stage2Layer2EtSumAlgorithm > m_sumAlgo
friend std::ostream & operator<<(std::ostream &o, const Stage2MainProcessorFirmwareImp1 &p)