File indexing completed on 2024-04-06 12:20:17
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #ifndef Stage2PreProcessorFirmware_H
0014 #define Stage2PreProcessorFirmware_H
0015
0016 #include "L1Trigger/L1TCalorimeter/interface/Stage2PreProcessor.h"
0017 #include "L1Trigger/L1TCalorimeter/interface/Stage2TowerCompressAlgorithm.h"
0018 #include "L1Trigger/L1TCalorimeter/interface/CaloParamsHelper.h"
0019 #include <memory>
0020
0021 namespace l1t {
0022
0023
0024 class Stage2PreProcessorFirmwareImp1 : public Stage2PreProcessor {
0025 public:
0026 Stage2PreProcessorFirmwareImp1(unsigned fwv, CaloParamsHelper const* params);
0027
0028 void processEvent(const std::vector<l1t::CaloTower>& inTowers, std::vector<l1t::CaloTower>& outTowers) override;
0029
0030 void print(std::ostream&) const;
0031
0032 friend std::ostream& operator<<(std::ostream& o, const Stage2PreProcessorFirmwareImp1& p) {
0033 p.print(o);
0034 return o;
0035 }
0036
0037 private:
0038
0039 std::unique_ptr<Stage2TowerCompressAlgorithm> m_towerAlgo;
0040 };
0041
0042 }
0043
0044 #endif