The Gaudi Framework
master (9f3f8895)
Toggle main menu visibility
Loading...
Searching...
No Matches
IEvtSelector.h
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
#pragma once
12
13
#include <
GaudiKernel/IInterface.h
>
14
#include <
GaudiKernel/IOpaqueAddress.h
>
15
#include <
GaudiKernel/StatusCode.h
>
16
#include <string>
17
26
class
GAUDI_API
IEvtSelector
:
virtual
public
IInterface
{
27
public
:
29
DeclareInterfaceID
(
IEvtSelector
, 2, 0 );
30
31
class
Context
{
32
public
:
33
virtual
~Context
() =
default
;
34
virtual
void
*
identifier
()
const
= 0;
35
};
36
42
virtual
StatusCode
createContext
(
Context
*& c )
const
= 0;
43
51
virtual
StatusCode
next
(
Context
& c )
const
= 0;
52
58
virtual
StatusCode
next
(
Context
& c,
int
jump )
const
= 0;
59
66
virtual
StatusCode
previous
(
Context
& c )
const
= 0;
67
73
virtual
StatusCode
previous
(
Context
& c,
int
jump )
const
= 0;
74
78
virtual
StatusCode
last
(
Context
& refContext )
const
= 0;
79
85
virtual
StatusCode
rewind
(
Context
& c )
const
= 0;
86
93
virtual
StatusCode
createAddress
(
const
Context
& c,
IOpaqueAddress
*& iop )
const
= 0;
94
99
virtual
StatusCode
releaseContext
(
Context
*& )
const
= 0;
100
107
virtual
StatusCode
resetCriteria
(
const
std::string& cr,
Context
& c )
const
= 0;
108
};
IInterface.h
IOpaqueAddress.h
GAUDI_API
#define GAUDI_API
Definition
Kernel.h:49
StatusCode.h
IEvtSelector::Context
Definition
IEvtSelector.h:31
IEvtSelector::Context::identifier
virtual void * identifier() const =0
IEvtSelector::Context::~Context
virtual ~Context()=default
IEvtSelector
The Event Selector Interface.
Definition
IEvtSelector.h:26
IEvtSelector::releaseContext
virtual StatusCode releaseContext(Context *&) const =0
Release the Context object.
IEvtSelector::DeclareInterfaceID
DeclareInterfaceID(IEvtSelector, 2, 0)
InterfaceID.
IEvtSelector::next
virtual StatusCode next(Context &c) const =0
Fetch the next event or the first event if it will be use soon after the creation of the context.
IEvtSelector::createAddress
virtual StatusCode createAddress(const Context &c, IOpaqueAddress *&iop) const =0
Create an IOpaqueAddress object from the event fetched.
IEvtSelector::rewind
virtual StatusCode rewind(Context &c) const =0
Will set the state of the context in a way that the next event read is the first of the list.
IEvtSelector::previous
virtual StatusCode previous(Context &c, int jump) const =0
Same of previous(Context& c) the possibility to jump the previous n-1 events.
IEvtSelector::last
virtual StatusCode last(Context &refContext) const =0
Access last item in the iteration.
IEvtSelector::next
virtual StatusCode next(Context &c, int jump) const =0
Same of next(const Context&) plus the possibility to jump the next n-1 events.
IEvtSelector::createContext
virtual StatusCode createContext(Context *&c) const =0
Create and return a context object that will keep track of the state of selection.
IEvtSelector::resetCriteria
virtual StatusCode resetCriteria(const std::string &cr, Context &c) const =0
Will set a new criteria for the selection of the next list of events and will change the state of the...
IEvtSelector::previous
virtual StatusCode previous(Context &c) const =0
Fetch the previous event.
IInterface
Definition of the basic interface.
Definition
IInterface.h:225
IOpaqueAddress
Opaque address interface definition.
Definition
IOpaqueAddress.h:28
StatusCode
This class is used for returning status codes from appropriate routines.
Definition
StatusCode.h:64
GaudiKernel
include
GaudiKernel
IEvtSelector.h
Generated on
for The Gaudi Framework by
1.17.0