| The Gaudi Framework v27r1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

EventSelectorDataStream.h
Go to the documentation of this file.
1 //====================================================================
2 // EventSelectorDataStream.h
3 //--------------------------------------------------------------------
4 //
5 // Package : EventSelectorDataStream (LHCb Event Selector Package)
6 //
7 // Author : M.Frank
8 // Created : 4/10/00
9 // Changes : R. Lambert 2009-09-04
10 //
11 //====================================================================
12 #ifndef GAUDIKERNEL_EVENTSELECTORDATASTREAM_H
13 #define GAUDIKERNEL_EVENTSELECTORDATASTREAM_H 1
14
15 // Include files
16 #include "GaudiKernel/IEvtSelector.h"
17 #include "GaudiKernel/Property.h"
18
19 // STL include files
20 #include <vector>
21 #include <iostream>
22
23 // Forward declarations
24 class MsgStream;
25 class ISvcLocator;
26 class EventSelectorDataStream;
27
45 class GAUDI_API EventSelectorDataStream: public implements<IInterface> {
47 friend MsgStream& operator<<(MsgStream& s, const EventSelectorDataStream& obj);
49 friend std::ostream& operator<<(std::ostream& s, const EventSelectorDataStream& obj);
50 public:
51 typedef std::vector< StringProperty > Properties;
52 protected:
54 std::string m_name;
56 std::string m_definition;
58 std::string m_criteria;
60 std::string m_dbName;
62 std::string m_selectorType;
64 SmartIF<IEvtSelector> m_pSelector;
66 ISvcLocator* m_pSvcLocator;
68 Properties m_properties;
70 bool m_initialized = false;
72 virtual ~EventSelectorDataStream() = default;
73 public:
75 EventSelectorDataStream(std::string nam, std::string def, ISvcLocator* svcloc);
77 virtual void setSelector(IEvtSelector* pSelector);
79 virtual StatusCode initialize();
81 virtual StatusCode finalize();
83 StringProperty* property(const std::string& nam);
85 const StringProperty* property(const std::string& nam) const;
87 const Properties& properties() {
88 return m_properties;
89 }
91 const std::string& name() const {
92 return m_name;
93 }
95 const std::string& criteria() const {
96 return m_criteria;
97 }
99 const std::string& dbName() const {
100 return m_dbName;
101 }
103 const std::string& selectorType() const {
104 return m_selectorType;
105 }
107 const std::string& definition() const {
108 return m_definition;
109 }
111 IEvtSelector* selector() const {
112 return m_pSelector.get();
113 }
115 bool isInitialized() const {
116 return m_initialized;
117 }
118 };
119
121 GAUDI_API MsgStream& operator<<(MsgStream& s, const EventSelectorDataStream& obj);
123 GAUDI_API std::ostream& operator<<(std::ostream& s, const EventSelectorDataStream& obj);
124
125 #endif // GAUDIKERNEL_EVENTSELECTORDATASTREAM_H
EventSelectorDataStream::isInitialized
bool isInitialized() const
Check initialization status.
Definition: EventSelectorDataStream.h:115
MsgStream
Definition of the MsgStream class used to transmit messages.
Definition: MsgStream.h:24
SmartIF< IEvtSelector >
EventSelectorDataStream::name
const std::string & name() const
Retrieve stream name.
Definition: EventSelectorDataStream.h:91
implements
Base class used to implement the interfaces.
Definition: implements.h:9
AnalysisTest.initialize
def initialize()
Definition: AnalysisTest.py:12
ISvcLocator
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition: ISvcLocator.h:25
IEvtSelector
The Event Selector Interface.
Definition: IEvtSelector.h:18
EventSelectorDataStream::selector
IEvtSelector * selector() const
Retrieve event selector object.
Definition: EventSelectorDataStream.h:111
EventSelectorDataStream::m_criteria
std::string m_criteria
Criteria.
Definition: EventSelectorDataStream.h:58
EventSelectorDataStream::m_selectorType
std::string m_selectorType
Event selector type.
Definition: EventSelectorDataStream.h:62
std::string
STL class.
EventSelectorDataStream::m_pSelector
SmartIF< IEvtSelector > m_pSelector
Pointer to valid selector.
Definition: EventSelectorDataStream.h:64
SimpleProperty< std::string >
SmartIF::get
TYPE * get() const
Get interface pointer.
Definition: SmartIF.h:76
EventSelectorDataStream::m_pSvcLocator
ISvcLocator * m_pSvcLocator
Reference to service locator.
Definition: EventSelectorDataStream.h:66
EventSelectorDataStream::Properties
std::vector< StringProperty > Properties
Definition: EventSelectorDataStream.h:51
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
EventSelectorDataStream::m_definition
std::string m_definition
Definition string.
Definition: EventSelectorDataStream.h:56
EventSelectorDataStream::m_name
std::string m_name
Name.
Definition: EventSelectorDataStream.h:54
EventSelectorDataStream::definition
const std::string & definition() const
Retrieve definition string.
Definition: EventSelectorDataStream.h:107
std::vector< StringProperty >
EventSelectorDataStream::m_properties
Properties m_properties
Properties vector.
Definition: EventSelectorDataStream.h:68
EventSelectorDataStream
Definition of class EventSelectorDataStream.
Definition: EventSelectorDataStream.h:45
EventSelectorDataStream::selectorType
const std::string & selectorType() const
Retrieve event selector type.
Definition: EventSelectorDataStream.h:103
Property.h
gaudirun.s
string s
Definition: gaudirun.py:245
IEvtSelector.h
EventSelectorDataStream::properties
const Properties & properties()
Access properties.
Definition: EventSelectorDataStream.h:87
EventSelectorDataStream::m_dbName
std::string m_dbName
String with name of the db as parsed.
Definition: EventSelectorDataStream.h:60
EventSelectorDataStream::criteria
const std::string & criteria() const
Retrieve stream criteria.
Definition: EventSelectorDataStream.h:95
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:107
std::ostream
STL class.
operator<<
GAUDI_API MsgStream & operator<<(MsgStream &s, const EventSelectorDataStream &obj)
Output friend for MsgStream.
Definition: EventSelectorDataStream.cpp:27
EventSelectorDataStream::dbName
const std::string & dbName() const
Retrieve stream dbName.
Definition: EventSelectorDataStream.h:99