File indexing completed on 2024-04-06 12:21:00
0001 #ifndef L1Trigger_L1TMuonEndCapPhase2_RPCTPSelector_h
0002 #define L1Trigger_L1TMuonEndCapPhase2_RPCTPSelector_h
0003
0004 #include "L1Trigger/L1TMuonEndCapPhase2/interface/EMTFfwd.h"
0005 #include "L1Trigger/L1TMuonEndCapPhase2/interface/EMTFTypes.h"
0006 #include "L1Trigger/L1TMuonEndCapPhase2/interface/DAQ/TPrimitives.h"
0007 #include "L1Trigger/L1TMuonEndCapPhase2/interface/DAQ/TPSelectors.h"
0008 #include "L1Trigger/L1TMuonEndCapPhase2/interface/Utils/RPCUtils.h"
0009
0010 namespace emtf::phase2 {
0011
0012 class RPCTPSelector : public TPSelector {
0013 public:
0014 explicit RPCTPSelector(const EMTFContext&, const int&, const int&);
0015
0016 ~RPCTPSelector() override = default;
0017
0018 void select(const TriggerPrimitive&, TPInfo, ILinkTPCMap&) const final;
0019
0020 private:
0021 const EMTFContext& context_;
0022
0023 int endcap_, sector_;
0024
0025 int getInputLink(const TriggerPrimitive&, TPInfo&) const;
0026
0027 int calcInputLink(const int&, const int&, const int&, const int&, const TPSelection&) const;
0028 };
0029
0030 }
0031
0032 #endif