BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
McEventSelector.h
Go to the documentation of this file.
1//====================================================================
2// McEventSelector.h
3//--------------------------------------------------------------------
4//
5// Package : McEventSelector
6//
7// Description: The McEventSelector component is able
8// to produce a list of event references given a set of "selection
9// criteria".
10//
11// Author : P. Calafiura
12// Created : 2/28/00
13// Changes :
14//
15//
16//====================================================================
17
18#ifndef MCEVENTSELECTOR_MCEVENTSELECTOR_H
19#define MCEVENTSELECTOR_MCEVENTSELECTOR_H 1
20
21// Include files
22#include "GaudiKernel/IEvtSelector.h"
23#include "GaudiKernel/Service.h"
24
25// Forward declarations
26class ISvcLocator;
27
28#ifdef WIN32
29// Disable warning C4786: identifier was truncated to '255' characters in the debug information
30# pragma warning( disable : 4786 )
31#endif
32
33//--------------------------------------------------------------------
34// Event Selector
35//--------------------------------------------------------------------
36
37class McEventSelector : virtual public Service, virtual public IEvtSelector {
38public:
39 // Standard Constructor.
40 McEventSelector( const std::string& name, ISvcLocator* svcloc );
41
42 // Standard Destructor.
44
45 // Implementation of Service base class methods.
46 virtual StatusCode initialize();
47 virtual StatusCode finalize();
48
49 virtual StatusCode queryInterface( const InterfaceID& riid, void** ppvInterface );
50 virtual StatusCode createContext( Context*& refpCtxt ) const;
51
52 virtual StatusCode last( Context& refContext ) const;
53 virtual StatusCode next( Context& refCtxt ) const;
54 virtual StatusCode next( Context& refCtxt, int jump ) const;
55 virtual StatusCode previous( Context& refCtxt ) const;
56 virtual StatusCode previous( Context& refCtxt, int jump ) const;
57 virtual StatusCode rewind( Context& refCtxt ) const;
58
59 virtual StatusCode createAddress( const Context& refCtxt, IOpaqueAddress*& ) const;
60 virtual StatusCode releaseContext( Context*& refCtxt ) const;
61 virtual StatusCode resetCriteria( const std::string& cr, Context& c ) const;
62
63private:
64 Gaudi::CheckedProperty<int> m_runNo{ this, "RunNumber", 5040 };
65 Gaudi::CheckedProperty<int> m_firstEventNo{ this, "EventsPerRun", 100000000 };
66 Gaudi::CheckedProperty<int> m_eventsPerRun{ this, "FirstEvent", 0 };
67
68 /*
69 static IService* createClassObject( const std::string& svcname, ISvcLocator* svcloc );
70 // IEvtSelector implementation
71 virtual StatusCode initialize();
72 virtual StatusCode setCriteria( const std::string& criteria );
73 virtual StatusCode setCriteria( const SelectionCriteria& criteria );
74 virtual Iterator* begin() const;
75 virtual Iterator* end() const;
76 virtual Iterator& next(Iterator& it) const;
77 virtual Iterator& previous(Iterator& it) const;
78 IOpaqueAddress* reference(const Iterator& it) const;
79
80 // IInterface implementation
81 virtual StatusCode queryInterface(const IID& riid, void** ppvInterface);
82
83 // Constructors & Destructors
84 McEventSelector( const std::string& name, ISvcLocator* svcloc );
85 ~McEventSelector();
86
87private:
88 // EventSource* p_eventSource;
89 McIterator* p_beginIter;
90 McIterator* p_endIter;
91 IntegerProperty m_runNo;
92 IntegerProperty m_firstEventNo;
93 IntegerProperty m_eventsPerRun;
94 */
95};
96
97#endif // MCEVENTCNV_MCEVENTSELECTOR_H
virtual StatusCode initialize()
virtual StatusCode previous(Context &refCtxt) const
virtual StatusCode resetCriteria(const std::string &cr, Context &c) const
virtual StatusCode rewind(Context &refCtxt) const
virtual StatusCode releaseContext(Context *&refCtxt) const
McEventSelector(const std::string &name, ISvcLocator *svcloc)
virtual StatusCode finalize()
virtual StatusCode queryInterface(const InterfaceID &riid, void **ppvInterface)
virtual StatusCode createAddress(const Context &refCtxt, IOpaqueAddress *&) const
virtual StatusCode createContext(Context *&refpCtxt) const
virtual StatusCode last(Context &refContext) const
virtual StatusCode next(Context &refCtxt) const