30    template <
typename Signature, 
typename Traits_, 
bool isLegacy>
 
   34    template <
typename Out, 
typename... In, 
typename Traits_>
 
   36        : DataHandleMixin<
std::tuple<Out>, filter_evtcontext<In...>, Traits_> {
 
   37      using DataHandleMixin<std::tuple<Out>, filter_evtcontext<In...>, Traits_>::DataHandleMixin;
 
   42          if constexpr ( 
sizeof...( In ) == 0 ) {
 
   43            put( std::get<0>( this->m_outputs ), ( *
this )() );
 
   44          } 
else if constexpr ( std::tuple_size_v<filter_evtcontext<In...>> == 0 ) {
 
   47            put( std::get<0>( this->m_outputs ), filter_evtcontext_t<In...>::apply( *
this, this->m_inputs ) );
 
   49          return FilterDecision::PASSED;
 
 
 
   60    template <
typename Out, 
typename... In, 
typename Traits_>
 
   62        : DataHandleMixin<
std::tuple<Out>, filter_evtcontext<In...>, Traits_> {
 
   63      using DataHandleMixin<std::tuple<Out>, filter_evtcontext<In...>, Traits_>::DataHandleMixin;
 
   68          if constexpr ( 
sizeof...( In ) == 0 ) {
 
   69            put( std::get<0>( this->m_outputs ), ( *
this )() );
 
   70          } 
else if constexpr ( std::tuple_size_v<filter_evtcontext<In...>> == 0 ) {
 
   71            put( std::get<0>( this->m_outputs ), ( *
this )( ctx ) );
 
   73            put( std::get<0>( this->m_outputs ), filter_evtcontext_t<In...>::apply( *
this, ctx, this->m_inputs ) );
 
   75          return FilterDecision::PASSED;
 
 
 
   89    template <
typename Signature, 
typename Traits_, 
bool isLegacy>
 
   92    template <
typename... Out, 
typename... In, 
typename Traits_>
 
   94        : DataHandleMixin<std::tuple<Out...>, filter_evtcontext<In...>, Traits_> {
 
   95      using DataHandleMixin<std::tuple<Out...>, filter_evtcontext<In...>, Traits_>::DataHandleMixin;
 
  101              [
this]( 
auto&... ohandle ) {
 
  102                if constexpr ( 
sizeof...( In ) == 0 ) {
 
  103                  std::apply( [&ohandle...](
 
  104                                  auto&&... data ) { ( put( ohandle, std::forward<decltype( data )>( data ) ), ... ); },
 
  105                              std::as_const( *
this )() );
 
  107                  std::apply( [&ohandle...](
 
  108                                  auto&&... data ) { ( put( ohandle, std::forward<decltype( data )>( data ) ), ... ); },
 
  109                              filter_evtcontext_t<In...>::apply( std::as_const( *
this ), this->m_inputs ) );
 
  113          return FilterDecision::PASSED;
 
 
  121      virtual std::tuple<Out...> 
operator()( 
const In&... ) 
const = 0;
 
 
  124    template <
typename... Out, 
typename... In, 
typename Traits_>
 
  126        : DataHandleMixin<std::tuple<Out...>, filter_evtcontext<In...>, Traits_> {
 
  127      using DataHandleMixin<std::tuple<Out...>, filter_evtcontext<In...>, Traits_>::DataHandleMixin;
 
  133              [
this, &ctx]( 
auto&... ohandle ) {
 
  134                if constexpr ( 
sizeof...( In ) == 0 ) {
 
  135                  std::apply( [&ohandle...](
 
  136                                  auto&&... data ) { ( put( ohandle, std::forward<decltype( data )>( data ) ), ... ); },
 
  138                } 
else if constexpr ( std::tuple_size_v<filter_evtcontext<In...>> == 0 ) {
 
  139                  std::apply( [&ohandle...](
 
  140                                  auto&&... data ) { ( put( ohandle, std::forward<decltype( data )>( data ) ), ... ); },
 
  143                  std::apply( [&ohandle...](
 
  144                                  auto&&... data ) { ( put( ohandle, std::forward<decltype( data )>( data ) ), ... ); },
 
  145                              filter_evtcontext_t<In...>::apply( *
this, ctx, this->m_inputs ) );
 
  149          return FilterDecision::PASSED;
 
 
  157      virtual std::tuple<Out...> 
operator()( 
const In&... ) 
const = 0;
 
 
  163    template <
typename Signature, 
typename Traits_, 
bool isLegacy>
 
  166    template <
typename... Out, 
typename... In, 
typename Traits_>
 
  168        : DataHandleMixin<std::tuple<Out...>, filter_evtcontext<In...>, Traits_> {
 
  169      using DataHandleMixin<std::tuple<Out...>, filter_evtcontext<In...>, Traits_>::DataHandleMixin;
 
  175                     [&]( 
auto&... ohandle ) {
 
  177                           [&ohandle...]( 
bool passed, 
auto&&... data ) {
 
  178                             ( put( ohandle, std::forward<decltype( data )>( data ) ), ... );
 
  181                           filter_evtcontext_t<In...>::apply( *
this, this->m_inputs ) );
 
  184                     ? FilterDecision::PASSED
 
  185                     : FilterDecision::FAILED;
 
 
  193      virtual std::tuple<bool, Out...> 
operator()( 
const In&... ) 
const = 0;
 
 
  196    template <
typename... Out, 
typename... In, 
typename Traits_>
 
  198        : DataHandleMixin<std::tuple<Out...>, filter_evtcontext<In...>, Traits_> {
 
  199      using DataHandleMixin<std::tuple<Out...>, filter_evtcontext<In...>, Traits_>::DataHandleMixin;
 
  205                     [&]( 
auto&... ohandle ) {
 
  207                           [&ohandle...]( 
bool passed, 
auto&&... data ) {
 
  208                             ( put( ohandle, std::forward<decltype( data )>( data ) ), ... );
 
  211                           filter_evtcontext_t<In...>::apply( *
this, ctx, this->m_inputs ) );
 
  214                     ? FilterDecision::PASSED
 
  215                     : FilterDecision::FAILED;
 
 
  223      virtual std::tuple<bool, Out...> 
operator()( 
const In&... ) 
const = 0;
 
 
 
  227  template <
typename Signature, 
typename Traits_ = Traits::useDefaults>
 
  230  template <
typename Signature, 
typename Traits_ = Traits::useDefaults>
 
  233  template <
typename Signature, 
typename Traits_ = Traits::useDefaults>
 
 
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
 
This class represents an entry point to all the event specific data.
 
Define general base for Gaudi exception.
 
virtual const std::string & message() const
error message to be printed
 
virtual const StatusCode & code() const
StatusCode for Exception.
 
virtual const std::string & tag() const
name tag for the exception, or exception type
 
This class is used for returning status codes from appropriate routines.
 
details::MultiTransformer< Signature, Traits_, details::isLegacy< Traits_ > > MultiTransformer
 
details::Transformer< Signature, Traits_, details::isLegacy< Traits_ > > Transformer
 
details::MultiTransformerFilter< Signature, Traits_, details::isLegacy< Traits_ > > MultiTransformerFilter
 
GAUDI_API const EventContext & currentContext()
 
This file provides a Grammar for the type Gaudi::Accumulators::Axis It allows to use that type from p...