Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  master (d98a2936)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Selector.cpp
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2025 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
11 #include <GaudiKernel/NTuple.h>
12 #include <GaudiKernel/Selector.h>
13 
16 
18 bool NTuple::Selector::operator()( void* nt ) {
19  DataObject* p = static_cast<DataObject*>( nt );
20  bool result = false;
21  try {
22  NTuple::Tuple* tuple = dynamic_cast<NTuple::Tuple*>( p );
23  if ( tuple ) {
24  if ( m_firstCall ) {
25  m_status = initialize( tuple );
26  m_firstCall = false;
27  }
28  if ( m_status.isSuccess() ) { result = this->operator()( tuple ); }
29  }
30  } catch ( ... ) {}
31  return result;
32 }
33 
35 bool NTuple::Selector::operator()( NTuple::Tuple* /* nt */ ) { return true; }
Selector.h
NTuple::Selector::operator()
bool operator()(void *nt) override
Default callback from interface.
Definition: Selector.cpp:18
NTuple::Selector::initialize
virtual StatusCode initialize(NTuple::Tuple *nt)
Selector Initialization.
Definition: Selector.cpp:15
StatusCode
Definition: StatusCode.h:64
NTuple.h
StatusCode::SUCCESS
constexpr static const auto SUCCESS
Definition: StatusCode.h:99
NTuple::Tuple
Abstract base class which allows the user to interact with the actual N tuple implementation.
Definition: NTuple.h:380
DataObject
Definition: DataObject.h:37