The Gaudi Framework  master (37c0b60a)
Selector.cpp
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2024 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 //====================================================================
12 // NTuple name space: Selector class implementation
13 //--------------------------------------------------------------------
14 //
15 // Package : Gaudi/NTupleSvc ( The LHCb Offline System)
16 // Author : M.Frank
17 //
18 // +---------+----------------------------------------------+--------+
19 // | Date | Comment | Who |
20 // +---------+----------------------------------------------+--------+
21 // | 10/10/00| Initial version. | MF |
22 // +---------+----------------------------------------------+--------+
23 //====================================================================
24 #define GAUDI_NTUPLEITEMS_CPP 1
25 
26 #include <GaudiKernel/NTuple.h>
27 #include <GaudiKernel/Selector.h>
28 
31 
33 bool NTuple::Selector::operator()( void* nt ) {
34  DataObject* p = static_cast<DataObject*>( nt );
35  bool result = false;
36  try {
37  NTuple::Tuple* tuple = dynamic_cast<NTuple::Tuple*>( p );
38  if ( tuple ) {
39  if ( m_firstCall ) {
40  m_status = initialize( tuple );
41  m_firstCall = false;
42  }
43  if ( m_status.isSuccess() ) { result = this->operator()( tuple ); }
44  }
45  } catch ( ... ) {}
46  return result;
47 }
48 
50 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:33
NTuple::Selector::initialize
virtual StatusCode initialize(NTuple::Tuple *nt)
Selector Initialization.
Definition: Selector.cpp:30
StatusCode
Definition: StatusCode.h:65
NTuple.h
StatusCode::SUCCESS
constexpr static const auto SUCCESS
Definition: StatusCode.h:100
NTuple::Tuple
Abstract base class which allows the user to interact with the actual N tuple implementation.
Definition: NTuple.h:388
DataObject
Definition: DataObject.h:36