File indexing completed on 2024-04-06 12:21:00
0001 #ifndef L1Trigger_L1TMuonEndCapPhase2_CSCTPSelector_h
0002 #define L1Trigger_L1TMuonEndCapPhase2_CSCTPSelector_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
0009 namespace emtf::phase2 {
0010
0011 class CSCTPSelector : public TPSelector {
0012 public:
0013 explicit CSCTPSelector(const EMTFContext&, const int&, const int&);
0014
0015 ~CSCTPSelector() override = default;
0016
0017 void select(const TriggerPrimitive&, TPInfo, ILinkTPCMap&) const final;
0018
0019 private:
0020 const EMTFContext& context_;
0021
0022 int endcap_, sector_;
0023
0024 int getInputLink(const TriggerPrimitive&, TPInfo&) const;
0025
0026 int calcInputLink(const int&, const int&, const int&, const int&, const TPSelection&) const;
0027 };
0028
0029 }
0030
0031 #endif