1 #ifndef RecoTracker_FinalTrackSelectors_trackAlgoPriorityOrder_h
2 #define RecoTracker_FinalTrackSelectors_trackAlgoPriorityOrder_h
76 "Please update me too after adding new enumerators to reco::TrackBase::TrackAlgorithm");
89 throw "Index out of bounds, this means that some reco::TrackBase::TrackAlgorithm enumerator is missing from impl::algoPriorityOrder array.";
118 template <
typename T,
size_t N,
size_t I>
120 template <
typename... Args>
121 constexpr
static std::array<T, N>
value(Args&&...
args) {
123 std::forward<Args>(
args)...);
130 template <
typename T,
size_t N>
132 template <
typename... Args>
133 constexpr
static std::array<T, N>
value(Args&&...
args) {
134 return std::array<T, N>{{std::forward<Args>(
args)...}};
146 template <
typename T,
size_t N>
158 impl::makeArray<unsigned int, reco::TrackBase::algoSize>();
160 #endif // DataFormats_TrackReco_trackAlgoPriorityOrder_h
static constexpr std::array< T, N > value(Args &&...args)
TrackAlgorithm
track algorithm
constexpr unsigned int findIndex(const reco::TrackBase::TrackAlgorithm algo, const unsigned int index)
constexpr std::array< T, N > makeArray()
const std::complex< double > I
static constexpr std::array< T, N > value(Args &&...args)
constexpr reco::TrackBase::TrackAlgorithm algoPriorityOrder[]
constexpr std::array< unsigned int, reco::TrackBase::algoSize > trackAlgoPriorityOrder
constexpr unsigned int priorityForAlgo(const reco::TrackBase::TrackAlgorithm algo)