File indexing completed on 2025-05-09 22:40:18
0001 #ifndef RecoTracker_LSTCore_interface_alpaka_LST_h
0002 #define RecoTracker_LSTCore_interface_alpaka_LST_h
0003
0004 #include "RecoTracker/LSTCore/interface/alpaka/Common.h"
0005 #include "RecoTracker/LSTCore/interface/LSTESData.h"
0006 #include "RecoTracker/LSTCore/interface/alpaka/LSTInputDeviceCollection.h"
0007
0008 #include <cstdlib>
0009 #include <numeric>
0010 #include <alpaka/alpaka.hpp>
0011
0012 namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
0013 class LSTEvent;
0014
0015 class LST {
0016 public:
0017 LST() = default;
0018
0019 void run(Queue& queue,
0020 bool verbose,
0021 const float ptCut,
0022 LSTESData<Device> const* deviceESData,
0023 LSTInputDeviceCollection const* lstInputDC,
0024 bool no_pls_dupclean,
0025 bool tc_pls_triplets);
0026 std::vector<std::vector<unsigned int>> const& hits() const { return out_tc_hitIdxs_; }
0027 std::vector<unsigned int> const& len() const { return out_tc_len_; }
0028 std::vector<int> const& seedIdx() const { return out_tc_seedIdx_; }
0029 std::vector<short> const& trackCandidateType() const { return out_tc_trackCandidateType_; }
0030
0031 private:
0032 void getOutput(LSTEvent& event);
0033
0034
0035 std::vector<std::vector<unsigned int>> out_tc_hitIdxs_;
0036 std::vector<unsigned int> out_tc_len_;
0037 std::vector<int> out_tc_seedIdx_;
0038 std::vector<short> out_tc_trackCandidateType_;
0039 };
0040
0041 }
0042
0043 #endif