The Gaudi Framework  master (37c0b60a)
Selector.h
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 definition
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 #ifndef GAUDI_NTUPLESVC_SELECTOR_H
25 #define GAUDI_NTUPLESVC_SELECTOR_H 1
26 
27 // Framework include files
29 
30 // Forward declarations
31 namespace NTuple {
32  class Tuple;
33 }
34 
35 namespace NTuple {
36 
40  protected:
47 
48  public:
50  Selector( IInterface* svc ) : m_parent( svc ), m_firstCall( true ) {}
52  virtual ~Selector() = default;
54  bool firstCall() const { return m_firstCall; }
56  StatusCode initResult() const { return m_status; }
58  bool operator()( void* nt ) override;
60  virtual bool operator()( NTuple::Tuple* nt );
62  virtual StatusCode initialize( NTuple::Tuple* nt );
63  };
64 } // namespace NTuple
65 #endif // GAUDI_NTUPLESVC_SELECTOR_H
NTuple::Selector::m_parent
IInterface * m_parent
reference to parent interface
Definition: Selector.h:42
NTuple::Selector::firstCall
bool firstCall() const
Check for first call.
Definition: Selector.h:54
SelectStatement
Class of a selection statement.
Definition: SelectStatement.h:54
NTuple::Selector::~Selector
virtual ~Selector()=default
Standard Destructor.
StatusCode
Definition: StatusCode.h:65
NTuple::Selector
NTuple Selector class.
Definition: Selector.h:39
NTuple::Selector::Selector
Selector(IInterface *svc)
Standard constructor.
Definition: Selector.h:50
SelectStatement.h
NTuple::Tuple
Abstract base class which allows the user to interact with the actual N tuple implementation.
Definition: NTuple.h:388
IInterface
Definition: IInterface.h:239
NTuple
NTuple name space.
Definition: INTupleSvc.h:19
NTuple::Selector::m_status
StatusCode m_status
StatusCode indication initialization result.
Definition: Selector.h:46
NTuple::Selector::initResult
StatusCode initResult() const
Access initialization status.
Definition: Selector.h:56
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:81
NTuple::Selector::m_firstCall
bool m_firstCall
Boolean to indicate need for initialization.
Definition: Selector.h:44