diff --git a/include/HEJ/event_types.hh b/include/HEJ/event_types.hh index 4636a7b..8ae33a5 100644 --- a/include/HEJ/event_types.hh +++ b/include/HEJ/event_types.hh @@ -1,91 +1,94 @@ /** \file * \brief Define different types of events. * * \authors The HEJ collaboration (see AUTHORS for details) * \date 2019 * \copyright GPLv2 or later */ #pragma once #include "HEJ/utility.hh" namespace HEJ{ //! Namespace for event types namespace event_type{ //! Possible event types enum EventType: size_t{ FKL, /**< FKL-type event */ unordered_backward, /**< event with unordered backward emission */ unordered_forward, /**< event with unordered forward emission */ extremal_qqxb, /**< event with a backward extremal qqbar */ extremal_qqxf, /**< event with a forward extremal qqbar */ central_qqx, /**< event with a central qqbar */ nonHEJ, /**< event configuration not covered by HEJ */ no_2_jets, /**< event with less than two jets */ bad_final_state, /**< event with an unsupported final state */ unob = unordered_backward, unof = unordered_forward, qqxexb = extremal_qqxb, qqxexf = extremal_qqxf, qqxmid = central_qqx, first_type = FKL, last_type = bad_final_state }; //! Event type names /** * For example, names[FKL] is the string "FKL" */ static constexpr auto names = make_array( "FKL", "unordered backward", "unordered forward", "extremal qqbar backward", "extremal qqbar forward", "central qqbar", "nonHEJ", "no 2 jets", "bad final state" ); //! Returns True for a HEJ \ref event_type::EventType "EventType" inline bool is_HEJ(EventType type) { switch(type) { case FKL: case unordered_backward: case unordered_forward: case extremal_qqxb: case extremal_qqxf: case central_qqx: return true; default: return false; } } //! Returns True for an unordered \ref event_type::EventType "EventType" inline bool is_uno(EventType type) { return type == unordered_backward || type == unordered_forward; } + //! Returns True for an extremal_qqx \ref event_type::EventType "EventType" inline bool is_ex_qqx(EventType type) { return type == extremal_qqxb || type == extremal_qqxf; } + //! Returns True for an central_qqx \ref event_type::EventType "EventType" inline bool is_mid_qqx(EventType type) { return type == central_qqx; } + //! Returns True for any qqx event \ref event_type::EventType "EventType" inline bool is_qqx(EventType type) { return is_ex_qqx(type) || is_mid_qqx(type); } } }