The Gaudi Framework  v40r0 (475e45c1)
RootEvtSelector.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 //====================================================================
12 // RootTreeEvtSelector.h
13 //--------------------------------------------------------------------
14 //
15 // Package : RootCnv
16 //
17 // Description: The RootEvtSelector component is able
18 // to produce a list of event references given a set of "selection
19 // criteria".
20 //
21 // Author : M.Frank
22 // Created : 4/01/99
23 //
24 //====================================================================
25 
26 #pragma once
27 
28 // Framework include files
30 #include <GaudiKernel/Service.h>
31 
32 /*
33  * Gaudi namespace declaration
34  */
35 namespace Gaudi {
36 
37  // Forward declarations
38  class RootCnvSvc;
39 
48  class GAUDI_API RootEvtSelector : public extends<Service, IEvtSelector> {
49 
51  StatusCode error( const std::string& msg ) const;
52 
53  public:
55  using extends::extends;
56 
58  StatusCode initialize() override;
59 
61  StatusCode finalize() override;
62 
64 
68  StatusCode createContext( Context*& refpCtxt ) const override;
69 
73  StatusCode last( Context& refContext ) const override;
74 
76 
80  StatusCode next( Context& refCtxt ) const override;
81 
83 
87  StatusCode next( Context& refCtxt, int jump ) const override;
88 
90 
95  StatusCode previous( Context& refCtxt ) const override;
96 
98 
103  StatusCode previous( Context& refCtxt, int jump ) const override;
104 
106 
110  StatusCode rewind( Context& refCtxt ) const override;
111 
113 
117  StatusCode createAddress( const Context& refCtxt, IOpaqueAddress*& ) const override;
118 
120 
124  StatusCode releaseContext( Context*& refCtxt ) const override;
125 
132  StatusCode resetCriteria( const std::string& cr, Context& c ) const override;
133 
134  protected:
135  // Data Members
137  mutable RootCnvSvc* m_dbMgr;
139  CLID m_rootCLID = CLID_NULL;
140 
141  Gaudi::Property<std::string> m_persName{ this, "EvtPersistencySvc", "EventPersistencySvc",
142  "Name of the persistency service to search for conversion service" };
143  Gaudi::Property<std::string> m_dummy{ this, "DbType", "", "dummy property to fake backwards compatibility" };
144 
146  std::string m_cnvSvcName = "Gaudi::RootCnvSvc/RootCnvSvc";
148  std::string m_rootName;
150  std::string m_criteria;
151  };
152 } // namespace Gaudi
Gaudi::RootEvtSelector::m_rootName
std::string m_rootName
Property: Name of the ROOT entry name.
Definition: RootEvtSelector.h:148
Gaudi::RootCnvSvc
Definition: RootCnvSvc.h:61
IOpaqueAddress
Definition: IOpaqueAddress.h:28
GaudiMP.FdsRegistry.msg
msg
Definition: FdsRegistry.py:19
IEvtSelector.h
gaudirun.c
c
Definition: gaudirun.py:525
Gaudi::RootEvtSelector
Definition: RootEvtSelector.h:48
StatusCode
Definition: StatusCode.h:64
Gaudi::RootEvtSelector::m_dbMgr
RootCnvSvc * m_dbMgr
Reference to the corresponding conversion service.
Definition: RootEvtSelector.h:137
CLID
unsigned int CLID
Class ID definition.
Definition: ClassID.h:16
extends
Base class used to extend a class implementing other interfaces.
Definition: extends.h:19
Gaudi
This file provides a Grammar for the type Gaudi::Accumulators::Axis It allows to use that type from p...
Definition: __init__.py:1
Service.h
Gaudi::RootEvtSelector::m_criteria
std::string m_criteria
Property: File criteria to define item iteration.
Definition: RootEvtSelector.h:150
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:83
Gaudi::Property< std::string >