The Gaudi Framework  v41r0 (bdbe7744)
Loading...
Searching...
No Matches
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>
13
16
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
35bool NTuple::Selector::operator()( NTuple::Tuple* /* nt */ ) { return true; }
A DataObject is the base class of any identifiable object on any data store.
Definition DataObject.h:37
virtual StatusCode initialize(NTuple::Tuple *nt)
Selector Initialization.
Definition Selector.cpp:15
bool operator()(void *nt) override
Default callback from interface.
Definition Selector.cpp:18
bool m_firstCall
Boolean to indicate need for initialization.
Definition Selector.h:27
StatusCode m_status
StatusCode indication initialization result.
Definition Selector.h:29
Abstract base class which allows the user to interact with the actual N tuple implementation.
Definition NTuple.h:380
This class is used for returning status codes from appropriate routines.
Definition StatusCode.h:64
constexpr static const auto SUCCESS
Definition StatusCode.h:99