Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  master (d98a2936)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
EventSelectorDataStream.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 #pragma once
12 
13 #include <Gaudi/Property.h>
15 #include <iostream>
16 #include <vector>
17 
18 class MsgStream;
19 class ISvcLocator;
21 
39 class GAUDI_API EventSelectorDataStream : public implements<IInterface> {
41  friend MsgStream& operator<<( MsgStream& s, const EventSelectorDataStream& obj );
43  friend std::ostream& operator<<( std::ostream& s, const EventSelectorDataStream& obj );
44 
45 public:
46  typedef std::vector<Gaudi::Property<std::string>> Properties;
47 
48 protected:
50  std::string m_name;
52  std::string m_definition;
54  std::string m_criteria;
56  std::string m_dbName;
58  std::string m_selectorType;
66  bool m_initialized = false;
68  virtual ~EventSelectorDataStream() = default;
69 
70 public:
72  EventSelectorDataStream( std::string nam, std::string def, ISvcLocator* svcloc );
74  virtual void setSelector( IEvtSelector* pSelector );
76  virtual StatusCode initialize();
78  virtual StatusCode finalize();
80  Gaudi::Property<std::string>* property( const std::string& nam );
82  const Gaudi::Property<std::string>* property( const std::string& nam ) const;
84  const Properties& properties() { return m_properties; }
86  const std::string& name() const { return m_name; }
88  const std::string& criteria() const { return m_criteria; }
90  const std::string& dbName() const { return m_dbName; }
92  const std::string& selectorType() const { return m_selectorType; }
94  const std::string& definition() const { return m_definition; }
96  IEvtSelector* selector() const { return m_pSelector.get(); }
98  bool isInitialized() const { return m_initialized; }
99 };
100 
104 GAUDI_API std::ostream& operator<<( std::ostream& s, const EventSelectorDataStream& obj );
EventSelectorDataStream::isInitialized
bool isInitialized() const
Check initialization status.
Definition: EventSelectorDataStream.h:98
EventSelectorDataStream::m_definition
std::string m_definition
Definition string.
Definition: EventSelectorDataStream.h:52
operator<<
GAUDI_API MsgStream & operator<<(MsgStream &s, const EventSelectorDataStream &obj)
Output friend for MsgStream.
Definition: EventSelectorDataStream.cpp:21
EventSelectorDataStream::selectorType
const std::string & selectorType() const
Retrieve event selector type.
Definition: EventSelectorDataStream.h:92
gaudirun.s
string s
Definition: gaudirun.py:346
ISvcLocator
Definition: ISvcLocator.h:42
EventSelectorDataStream::definition
const std::string & definition() const
Retrieve definition string.
Definition: EventSelectorDataStream.h:94
IEvtSelector
Definition: IEvtSelector.h:26
EventSelectorDataStream::m_name
std::string m_name
Name.
Definition: EventSelectorDataStream.h:50
IEvtSelector.h
EventSelectorDataStream::m_selectorType
std::string m_selectorType
Event selector type.
Definition: EventSelectorDataStream.h:58
EventSelectorDataStream::m_pSvcLocator
ISvcLocator * m_pSvcLocator
Reference to service locator.
Definition: EventSelectorDataStream.h:62
EventSelectorDataStream::criteria
const std::string & criteria() const
Retrieve stream criteria.
Definition: EventSelectorDataStream.h:88
Properties
Definition: Properties.py:1
StatusCode
Definition: StatusCode.h:64
EventSelectorDataStream::properties
const Properties & properties()
Access properties.
Definition: EventSelectorDataStream.h:84
SmartIF< IEvtSelector >
MsgStream
Definition: MsgStream.h:29
EventSelectorDataStream::m_properties
Properties m_properties
Properties vector.
Definition: EventSelectorDataStream.h:64
EventSelectorDataStream::m_criteria
std::string m_criteria
Criteria.
Definition: EventSelectorDataStream.h:54
implements
Base class used to implement the interfaces.
Definition: implements.h:19
EventSelectorDataStream::dbName
const std::string & dbName() const
Retrieve stream dbName.
Definition: EventSelectorDataStream.h:90
SmartIF::get
TYPE * get() const
Get interface pointer.
Definition: SmartIF.h:82
EventSelectorDataStream::name
const std::string & name() const
Retrieve stream name.
Definition: EventSelectorDataStream.h:86
EventSelectorDataStream::m_dbName
std::string m_dbName
String with name of the db as parsed.
Definition: EventSelectorDataStream.h:56
EventSelectorDataStream
Definition of class EventSelectorDataStream.
Definition: EventSelectorDataStream.h:39
EventSelectorDataStream::m_pSelector
SmartIF< IEvtSelector > m_pSelector
Pointer to valid selector.
Definition: EventSelectorDataStream.h:60
EventSelectorDataStream::Properties
std::vector< Gaudi::Property< std::string > > Properties
Definition: EventSelectorDataStream.h:46
EventSelectorDataStream::~EventSelectorDataStream
virtual ~EventSelectorDataStream()=default
Standard Destructor.
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:49
Gaudi::Property< std::string >
Property.h
EventSelectorDataStream::selector
IEvtSelector * selector() const
Retrieve event selector object.
Definition: EventSelectorDataStream.h:96