The Gaudi Framework  master (37c0b60a)
RootEvtSelector.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 // 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 #ifndef GAUDIROOTCNV_ROOTEVTSELECTOR_H
27 #define GAUDIROOTCNV_ROOTEVTSELECTOR_H 1
28 
29 // Framework include files
31 #include <GaudiKernel/Service.h>
32 
33 /*
34  * Gaudi namespace declaration
35  */
36 namespace Gaudi {
37 
38  // Forward declarations
39  class RootCnvSvc;
40 
49  class GAUDI_API RootEvtSelector : public extends<Service, IEvtSelector> {
50 
52  StatusCode error( const std::string& msg ) const;
53 
54  public:
56  using extends::extends;
57 
59  StatusCode initialize() override;
60 
62  StatusCode finalize() override;
63 
65 
69  StatusCode createContext( Context*& refpCtxt ) const override;
70 
74  StatusCode last( Context& refContext ) const override;
75 
77 
81  StatusCode next( Context& refCtxt ) const override;
82 
84 
88  StatusCode next( Context& refCtxt, int jump ) const override;
89 
91 
96  StatusCode previous( Context& refCtxt ) const override;
97 
99 
104  StatusCode previous( Context& refCtxt, int jump ) const override;
105 
107 
111  StatusCode rewind( Context& refCtxt ) const override;
112 
114 
118  StatusCode createAddress( const Context& refCtxt, IOpaqueAddress*& ) const override;
119 
121 
125  StatusCode releaseContext( Context*& refCtxt ) const override;
126 
133  StatusCode resetCriteria( const std::string& cr, Context& c ) const override;
134 
135  protected:
136  // Data Members
138  mutable RootCnvSvc* m_dbMgr;
140  CLID m_rootCLID = CLID_NULL;
141 
142  Gaudi::Property<std::string> m_persName{ this, "EvtPersistencySvc", "EventPersistencySvc",
143  "Name of the persistency service to search for conversion service" };
144  Gaudi::Property<std::string> m_dummy{ this, "DbType", "", "dummy property to fake backwards compatibility" };
145 
147  std::string m_cnvSvcName = "Gaudi::RootCnvSvc/RootCnvSvc";
152  };
153 } // namespace Gaudi
154 #endif // GAUDIROOTCNV_ROOTEVTSELECTOR_H
std::string
STL class.
Gaudi::RootEvtSelector::m_rootName
std::string m_rootName
Property: Name of the ROOT entry name.
Definition: RootEvtSelector.h:149
Gaudi::RootCnvSvc
Definition: RootCnvSvc.h:62
IOpaqueAddress
Definition: IOpaqueAddress.h:33
GaudiMP.FdsRegistry.msg
msg
Definition: FdsRegistry.py:19
IEvtSelector.h
gaudirun.c
c
Definition: gaudirun.py:525
Gaudi::RootEvtSelector
Definition: RootEvtSelector.h:49
StatusCode
Definition: StatusCode.h:65
Gaudi::RootEvtSelector::m_dbMgr
RootCnvSvc * m_dbMgr
Reference to the corresponding conversion service.
Definition: RootEvtSelector.h:138
CLID
unsigned int CLID
Class ID definition.
Definition: ClassID.h:18
extends
Base class used to extend a class implementing other interfaces.
Definition: extends.h:20
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:151
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:81
Gaudi::Property< std::string >