Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:20:17

0001 ///
0002 /// Description: Firmware headers
0003 ///
0004 /// Implementation:
0005 ///    Concrete firmware implementations
0006 ///
0007 /// \author: Jim Brooke - University of Bristol
0008 ///
0009 
0010 //
0011 //
0012 
0013 #ifndef Stage2Layer2DemuxSumsAlgoFirmware_H
0014 #define Stage2Layer2DemuxSumsAlgoFirmware_H
0015 
0016 #include "L1Trigger/L1TCalorimeter/interface/Stage2Layer2DemuxSumsAlgo.h"
0017 #include "L1Trigger/L1TCalorimeter/interface/CaloParamsHelper.h"
0018 #include "L1Trigger/L1TCalorimeter/interface/Cordic.h"
0019 
0020 namespace l1t {
0021 
0022   // Imp1 is for v1 and v2
0023   class Stage2Layer2DemuxSumsAlgoFirmwareImp1 : public Stage2Layer2DemuxSumsAlgo {
0024   public:
0025     Stage2Layer2DemuxSumsAlgoFirmwareImp1(CaloParamsHelper const* params);
0026     ~Stage2Layer2DemuxSumsAlgoFirmwareImp1() override = default;
0027     void processEvent(const std::vector<l1t::EtSum>& inputSums, std::vector<l1t::EtSum>& outputSums) override;
0028 
0029   private:
0030     CaloParamsHelper const* params_;
0031     Cordic cordic_;
0032   };
0033 
0034 }  // namespace l1t
0035 
0036 #endif