The Gaudi Framework  v29r0 (ff2e7097)
RootEvtSelector.h
Go to the documentation of this file.
1 //====================================================================
2 // RootTreeEvtSelector.h
3 //--------------------------------------------------------------------
4 //
5 // Package : RootCnv
6 //
7 // Description: The RootEvtSelector component is able
8 // to produce a list of event references given a set of "selection
9 // criteria".
10 //
11 // Author : M.Frank
12 // Created : 4/01/99
13 //
14 //====================================================================
15 
16 #ifndef GAUDIROOTCNV_ROOTEVTSELECTOR_H
17 #define GAUDIROOTCNV_ROOTEVTSELECTOR_H 1
18 
19 // Framework include files
21 #include "GaudiKernel/Service.h"
22 
23 /*
24  * Gaudi namespace declaration
25  */
26 namespace Gaudi
27 {
28 
29  // Forward declarations
30  class RootCnvSvc;
31 
40  class GAUDI_API RootEvtSelector : public extends<Service, IEvtSelector>
41  {
42 
44  StatusCode error( const std::string& msg ) const;
45 
46  public:
48  using extends::extends;
49 
51  ~RootEvtSelector() override = default;
52 
54  StatusCode initialize() override;
55 
57  StatusCode finalize() override;
58 
60 
64  StatusCode createContext( Context*& refpCtxt ) const override;
65 
69  StatusCode last( Context& refContext ) const override;
70 
72 
76  StatusCode next( Context& refCtxt ) const override;
77 
79 
83  StatusCode next( Context& refCtxt, int jump ) const override;
84 
86 
91  StatusCode previous( Context& refCtxt ) const override;
92 
94 
99  StatusCode previous( Context& refCtxt, int jump ) const override;
100 
102 
106  StatusCode rewind( Context& refCtxt ) const override;
107 
109 
113  StatusCode createAddress( const Context& refCtxt, IOpaqueAddress*& ) const override;
114 
116 
120  StatusCode releaseContext( Context*& refCtxt ) const override;
121 
128  StatusCode resetCriteria( const std::string& cr, Context& c ) const override;
129 
130  protected:
131  // Data Members
133  mutable RootCnvSvc* m_dbMgr;
135  CLID m_rootCLID = CLID_NULL;
136 
137  Gaudi::Property<std::string> m_persName{this, "EvtPersistencySvc", "EventPersistencySvc",
138  "Name of the persistency service to search for conversion service"};
139  Gaudi::Property<std::string> m_dummy{this, "DbType", "", "dummy property to fake backwards compatibility"};
140 
142  std::string m_cnvSvcName = "Gaudi::RootCnvSvc/RootCnvSvc";
147  };
148 }
149 #endif // GAUDIROOTCNV_ROOTEVTSELECTOR_H
Implementation of property with value of concrete type.
Definition: Property.h:319
Description:
Definition: RootCnvSvc.h:53
RootCnvSvc * m_dbMgr
Reference to the corresponding conversion service.
STL class.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:28
unsigned int CLID
Class ID definition.
Definition: ClassID.h:8
Concrete event selector implementation to access ROOT files.
Base class used to extend a class implementing other interfaces.
Definition: extends.h:10
std::string m_criteria
Property: File criteria to define item iteration.
Opaque address interface definition.
#define GAUDI_API
Definition: Kernel.h:110
Helper functions to set/get the application return code.
Definition: __init__.py:1
std::string m_rootName
Property: Name of the ROOT entry name.