The Gaudi Framework  v33r0 (d5ea422b)
Selector.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2019 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
StatusCode initResult() const
Access initialization status.
Definition: Selector.h:56
Selector(IInterface *svc)
Standard constructor.
Definition: Selector.h:50
NTuple name space.
Definition: INTupleSvc.h:19
bool m_firstCall
Boolean to indicate need for initialization.
Definition: Selector.h:44
StatusCode m_status
StatusCode indication initialization result.
Definition: Selector.h:46
IInterface * m_parent
reference to parent interface
Definition: Selector.h:42
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:61
Definition of the basic interface.
Definition: IInterface.h:254
Abstract base class which allows the user to interact with the actual N tuple implementation.
Definition: NTuple.h:385
NTuple Selector class.
Definition: Selector.h:39
Class of a selection statement.
#define GAUDI_API
Definition: Kernel.h:81
bool firstCall() const
Check for first call.
Definition: Selector.h:54