DataStreamTool Class Reference

#include <GaudiKernel/DataStreamTool.h>

Inheritance diagram for DataStreamTool:
Collaboration diagram for DataStreamTool:

Public Types

typedef std::vector< EventSelectorDataStream * > Streams
 
typedef std::vector< StringPropertyProperties
 
typedef std::vector< EventSelectorDataStream * > Streams
 
typedef std::vector< StringPropertyProperties
 
- Public Types inherited from extends< BASE, Interfaces >
using base_class = extends
 Typedef to this class. More...
 
using extend_interfaces_base = extend_interfaces< Interfaces...>
 Typedef to the base of this class. More...
 
using base_class = extends
 Typedef to this class. More...
 
using extend_interfaces_base = extend_interfaces< Interfaces...>
 Typedef to the base of this class. More...
 
- Public Types inherited from extend_interfaces< Interfaces...>
using ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids...>::type
 take union of the ext_iids of all Interfaces... More...
 
using ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids...>::type
 take union of the ext_iids of all Interfaces... More...
 

Public Member Functions

 DataStreamTool (const std::string &type, const std::string &name, const IInterface *parent)
 Standard constructor. More...
 
 ~DataStreamTool () override=default
 Destructor. More...
 
StatusCode initialize () override
 
StatusCode finalize () override
 
StatusCode initializeStream (EventSelectorDataStream *) override
 Initialize newly opened stream. More...
 
StatusCode finalizeStream (EventSelectorDataStream *) override
 Finalize no longer needed stream. More...
 
StatusCode getNextStream (const EventSelectorDataStream *&, size_type &) override
 
StatusCode getPreviousStream (const EventSelectorDataStream *&, size_type &) override
 
StatusCode addStream (const std::string &) override
 
StatusCode addStreams (const StreamSpecs &) override
 
StatusCode eraseStream (const std::string &) override
 
EventSelectorDataStreamgetStream (const std::string &) override
 Retrieve stream by name. More...
 
EventSelectorDataStreamgetStream (size_type) override
 
EventSelectorDataStreamlastStream () override
 
size_type size () override
 
StatusCode clear () override
 
virtual StreamsgetStreams ()
 
virtual Streams::iterator beginOfStreams ()
 
virtual Streams::iterator endOfStreams ()
 
 DataStreamTool (const std::string &type, const std::string &name, const IInterface *parent)
 Standard constructor. More...
 
 ~DataStreamTool () override=default
 Destructor. More...
 
StatusCode initialize () override
 
StatusCode finalize () override
 
StatusCode initializeStream (EventSelectorDataStream *) override
 Initialize newly opened stream. More...
 
StatusCode finalizeStream (EventSelectorDataStream *) override
 Finalize no longer needed stream. More...
 
StatusCode getNextStream (const EventSelectorDataStream *&, size_type &) override
 
StatusCode getPreviousStream (const EventSelectorDataStream *&, size_type &) override
 
StatusCode addStream (const std::string &) override
 
StatusCode addStreams (const StreamSpecs &) override
 
StatusCode eraseStream (const std::string &) override
 
EventSelectorDataStreamgetStream (const std::string &) override
 Retrieve stream by name. More...
 
EventSelectorDataStreamgetStream (size_type) override
 
EventSelectorDataStreamlastStream () override
 
size_type size () override
 
StatusCode clear () override
 
virtual StreamsgetStreams ()
 
virtual Streams::iterator beginOfStreams ()
 
virtual Streams::iterator endOfStreams ()
 
- Public Member Functions inherited from extends< BASE, Interfaces >
void * i_cast (const InterfaceID &tid) const override
 Implementation of IInterface::i_cast. More...
 
StatusCode queryInterface (const InterfaceID &ti, void **pp) override
 Implementation of IInterface::queryInterface. More...
 
std::vector< std::string > getInterfaceNames () const override
 Implementation of IInterface::getInterfaceNames. More...
 
 ~extends () override=default
 Virtual destructor. More...
 
void * i_cast (const InterfaceID &tid) const override
 Implementation of IInterface::i_cast. More...
 
StatusCode queryInterface (const InterfaceID &ti, void **pp) override
 Implementation of IInterface::queryInterface. More...
 
std::vector< std::string > getInterfaceNames () const override
 Implementation of IInterface::getInterfaceNames. More...
 
 ~extends () override=default
 Virtual destructor. More...
 
- Public Member Functions inherited from extend_interfaces< Interfaces...>
 ~extend_interfaces () override=default
 Virtual destructor. More...
 
 ~extend_interfaces () override=default
 Virtual destructor. More...
 

Protected Member Functions

StatusCode createSelector (const std::string &, const std::string &, IEvtSelector *&) override
 
StatusCode createStream (const std::string &, const std::string &, EventSelectorDataStream *&) override
 
StatusCode connectStream (EventSelectorDataStream *)
 Connect single stream by reference. More...
 
StatusCode connectStream (const std::string &)
 Connect single stream by name. More...
 
Streams::iterator getStreamIterator (const std::string &)
 
StatusCode createSelector (const std::string &, const std::string &, IEvtSelector *&) override
 
StatusCode createStream (const std::string &, const std::string &, EventSelectorDataStream *&) override
 
StatusCode connectStream (EventSelectorDataStream *)
 Connect single stream by reference. More...
 
StatusCode connectStream (const std::string &)
 Connect single stream by name. More...
 
Streams::iterator getStreamIterator (const std::string &)
 

Protected Attributes

size_type m_streamID = 0
 
size_type m_streamCount = 0
 
Streams m_streams
 
StreamSpecs m_streamSpecs
 
SmartIF< IIncidentSvcm_incidentSvc = nullptr
 Reference to the incident service. More...
 

Private Member Functions

 DataStreamTool (const DataStreamTool &)=delete
 Fake copy constructor (never implemented). More...
 
DataStreamTooloperator= (const DataStreamTool &)=delete
 Fake assignment operator (never implemented). More...
 
 DataStreamTool (const DataStreamTool &)=delete
 Fake copy constructor (never implemented). More...
 
DataStreamTooloperator= (const DataStreamTool &)=delete
 Fake assignment operator (never implemented). More...
 

Detailed Description

Author
Andres Felipe Osorio Oliveros
Marco Clemencic
Date
2006-09-21

Definition at line 29 of file DataStreamTool.h.

Member Typedef Documentation

Definition at line 33 of file DataStreamTool.h.

Definition at line 33 of file DataStreamTool.h.

Definition at line 32 of file DataStreamTool.h.

Definition at line 32 of file DataStreamTool.h.

Constructor & Destructor Documentation

DataStreamTool::DataStreamTool ( const std::string &  type,
const std::string &  name,
const IInterface parent 
)

Standard constructor.

Definition at line 25 of file DataStreamTool.cpp.

28  : base_class ( type, name , parent )
29 {
30  //declareInterface<IDataStreamTool>(this);
31 }
extends base_class
Typedef to this class.
Definition: extends.h:14
string type
Definition: gaudirun.py:151
DataStreamTool::~DataStreamTool ( )
overridedefault

Destructor.

DataStreamTool::DataStreamTool ( const DataStreamTool )
privatedelete

Fake copy constructor (never implemented).

DataStreamTool::DataStreamTool ( const std::string &  type,
const std::string &  name,
const IInterface parent 
)

Standard constructor.

DataStreamTool::~DataStreamTool ( )
overridedefault

Destructor.

DataStreamTool::DataStreamTool ( const DataStreamTool )
privatedelete

Fake copy constructor (never implemented).

Member Function Documentation

StatusCode DataStreamTool::addStream ( const std::string &  input)
override

Definition at line 54 of file DataStreamTool.cpp.

54  {
55 
56  if ( getStream(input) ) {
57  MsgStream log(msgSvc(), name());
58  log << MSG::WARNING << "Input stream " << input << "already in use" << endmsg;
59  }
60 
61  m_streamSpecs.push_back(input);
62 
63  auto strname = name() + '_' + std::to_string( ++m_streamCount );
64  EventSelectorDataStream* s = nullptr;
65 
66  StatusCode status = createStream(strname, input , s );
67 
68  if( status.isSuccess() && s ) {
69  s->addRef();
70  m_streams.push_back(s);
71  status = StatusCode::SUCCESS;
72  } else {
73  MsgStream log(msgSvc(), name());
74  if (s) {
75  s->release();
76  log << MSG::ERROR << "Error connecting/creating Stream: " << s << endmsg;
77  }
78  log << MSG::ERROR << "Error connecting/creating Stream: " << input << endmsg;
79  status = StatusCode::FAILURE;
80  }
81  return status;
82 }
Definition of the MsgStream class used to transmit messages.
Definition: MsgStream.h:24
string to_string(const T &value)
Definition: mergesort.cpp:40
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:76
StatusCode createStream(const std::string &, const std::string &, EventSelectorDataStream *&) override
unsigned long addRef() override
Reference Interface instance.
Definition: implements.h:44
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
EventSelectorDataStream * getStream(const std::string &) override
Retrieve stream by name.
Definition of class EventSelectorDataStream.
size_type m_streamCount
string s
Definition: gaudirun.py:245
StreamSpecs m_streamSpecs
unsigned long release() override
Release Interface instance.
Definition: implements.h:46
StatusCode DataStreamTool::addStream ( const std::string &  )
override
StatusCode DataStreamTool::addStreams ( const StreamSpecs &  inputs)
override

Definition at line 84 of file DataStreamTool.cpp.

84  {
85 
87  for ( auto& i : inputs ) {
88  status = addStream(i);
89  if (!status.isSuccess()) break;
90  }
91  return status;
92 
93 }
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:76
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
StatusCode addStream(const std::string &) override
list i
Definition: ana.py:128
StatusCode DataStreamTool::addStreams ( const StreamSpecs &  )
override
virtual Streams::iterator DataStreamTool::beginOfStreams ( )
inlinevirtual

Definition at line 74 of file DataStreamTool.h.

74 {return m_streams.begin(); };
virtual Streams::iterator DataStreamTool::beginOfStreams ( )
inlinevirtual

Definition at line 74 of file DataStreamTool.h.

74 {return m_streams.begin(); };
StatusCode DataStreamTool::clear ( )
override
StatusCode DataStreamTool::clear ( )
override

Definition at line 206 of file DataStreamTool.cpp.

207 {
208 
209  StatusCode iret, status = StatusCode::SUCCESS;
210  iret.ignore();
211 
212  MsgStream log(msgSvc(), name());
213 
214  // disconnect the streams
215  for ( auto& il : m_streamSpecs ) {
217  if ( s ) {
218  if ( s->isInitialized() ) {
219  iret = finalizeStream(s);
220  if ( !iret.isSuccess() ) {
221  log << MSG::ERROR << "Error finalizing Stream" << il << endmsg;
222  status = iret;
223  }
224  }
225  iret = eraseStream( il );
226  if ( !iret.isSuccess() ) {
227  log << MSG::ERROR << "Error diconnecting Stream" << il << endmsg;
228  status = iret;
229  }
230  }
231  }
232 
233  m_streamSpecs.clear();
234 
235  return status;
236 }
bool isInitialized() const
Check initialization status.
Definition of the MsgStream class used to transmit messages.
Definition: MsgStream.h:24
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:76
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
StatusCode finalizeStream(EventSelectorDataStream *) override
Finalize no longer needed stream.
EventSelectorDataStream * getStream(const std::string &) override
Retrieve stream by name.
StatusCode eraseStream(const std::string &) override
Definition of class EventSelectorDataStream.
string s
Definition: gaudirun.py:245
void ignore() const
Definition: StatusCode.h:108
StreamSpecs m_streamSpecs
StatusCode DataStreamTool::connectStream ( EventSelectorDataStream s)
protected

Connect single stream by reference.

Definition at line 239 of file DataStreamTool.cpp.

240 {
241 
242  if ( !s ) return StatusCode::FAILURE;
243  s->addRef();
244  m_streams.push_back(s);
245  return StatusCode::SUCCESS;
246 
247 }
unsigned long addRef() override
Reference Interface instance.
Definition: implements.h:44
StatusCode DataStreamTool::connectStream ( EventSelectorDataStream )
protected

Connect single stream by reference.

StatusCode DataStreamTool::connectStream ( const std::string &  info)
protected

Connect single stream by name.

Definition at line 249 of file DataStreamTool.cpp.

250 {
251  if ( getStream(info) ) {
252  MsgStream log(msgSvc(), name());
253  log << MSG::WARNING << "Input stream " << info << "already in use" << endmsg;
254  }
255  auto nam = name() + '_' + std::to_string( ++m_streamCount);
256  EventSelectorDataStream* s = nullptr;
257  StatusCode status = createStream(nam, info, s);
258  if ( status.isSuccess() ) return connectStream(s);
259  s->release();
260  return status;
261 }
Definition of the MsgStream class used to transmit messages.
Definition: MsgStream.h:24
string to_string(const T &value)
Definition: mergesort.cpp:40
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:76
StatusCode createStream(const std::string &, const std::string &, EventSelectorDataStream *&) override
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
StatusCode connectStream(EventSelectorDataStream *)
Connect single stream by reference.
EventSelectorDataStream * getStream(const std::string &) override
Retrieve stream by name.
Definition of class EventSelectorDataStream.
size_type m_streamCount
string s
Definition: gaudirun.py:245
unsigned long release() override
Release Interface instance.
Definition: implements.h:46
StatusCode DataStreamTool::connectStream ( const std::string &  )
protected

Connect single stream by name.

StatusCode DataStreamTool::createSelector ( const std::string &  nam,
const std::string &  typ,
IEvtSelector *&  sel 
)
overrideprotected

Definition at line 124 of file DataStreamTool.cpp.

124  {
125  auto isvc = make_SmartIF( Service::Factory::create(typ, nam, serviceLocator()) );
126  if ( isvc ) {
127  auto isel = isvc.as<IEvtSelector>();
128  if ( isel ) {
129  sel = isel.get();
130  sel->addRef(); // make sure that sel is not left dangling once isel and isvc go out of scope...
131  return StatusCode::SUCCESS;
132  }
133  }
134  sel = nullptr;
135  MsgStream log(msgSvc(), name());
136  log << MSG::ERROR << "Failed to create IEvtSelector " << typ << "/" << nam << endmsg;
137  return StatusCode::FAILURE;
138 }
Definition of the MsgStream class used to transmit messages.
Definition: MsgStream.h:24
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
The Event Selector Interface.
Definition: IEvtSelector.h:18
virtual unsigned long addRef()=0
Increment the reference count of Interface instance.
SmartIF< IFace > make_SmartIF(IFace *iface)
Definition: SmartIF.h:143
StatusCode DataStreamTool::createSelector ( const std::string &  ,
const std::string &  ,
IEvtSelector *&   
)
overrideprotected
StatusCode DataStreamTool::createStream ( const std::string &  ,
const std::string &  ,
EventSelectorDataStream *&   
)
overrideprotected
StatusCode DataStreamTool::createStream ( const std::string &  nam,
const std::string &  info,
EventSelectorDataStream *&  stream 
)
overrideprotected

Definition at line 174 of file DataStreamTool.cpp.

175  {
176  stream = new EventSelectorDataStream(nam, info, serviceLocator());
177  return StatusCode::SUCCESS;
178 }
Definition of class EventSelectorDataStream.
virtual Streams::iterator DataStreamTool::endOfStreams ( )
inlinevirtual

Definition at line 76 of file DataStreamTool.h.

76 {return m_streams.end(); };
virtual Streams::iterator DataStreamTool::endOfStreams ( )
inlinevirtual

Definition at line 76 of file DataStreamTool.h.

76 {return m_streams.end(); };
StatusCode DataStreamTool::eraseStream ( const std::string &  )
override
StatusCode DataStreamTool::eraseStream ( const std::string &  info)
override

Definition at line 163 of file DataStreamTool.cpp.

163  {
164 
165  auto i = getStreamIterator(info);
166  if ( i != m_streams.end() ) {
167  (*i)->release();
168  m_streams.erase(i);
169  return StatusCode::SUCCESS;
170  }
171  return StatusCode::FAILURE;
172 }
Streams::iterator getStreamIterator(const std::string &)
list i
Definition: ana.py:128
StatusCode DataStreamTool::finalize ( )
override
StatusCode DataStreamTool::finalize ( )
override

Definition at line 95 of file DataStreamTool.cpp.

95  {
96  clear().ignore();
98  return AlgTool::finalize();
99 }
StatusCode clear() override
StatusCode finalize() override
Definition: AlgTool.cpp:395
SmartIF< IIncidentSvc > m_incidentSvc
Reference to the incident service.
void reset(TYPE *ptr=nullptr)
Set the internal pointer to the passed one disposing of the old one.
Definition: SmartIF.h:88
void ignore() const
Definition: StatusCode.h:108
StatusCode DataStreamTool::finalizeStream ( EventSelectorDataStream s)
override

Finalize no longer needed stream.

Definition at line 141 of file DataStreamTool.cpp.

141  {
142  if ( s ) {
143  IEvtSelector* sel = s->selector();
144  if ( sel ) {
145  SmartIF<IService> isvc(sel);
146  if ( isvc ) {
147  isvc->finalize().ignore();
148  s->finalize().ignore();
149  // Fire EndStream "Incident"
150  m_incidentSvc->fireIncident(Incident(name(),IncidentType::EndStream));
151  return StatusCode::SUCCESS;
152  }
153  // Failed to get service interface of sub-event selector
154  return StatusCode::FAILURE;
155  }
156  // No selector (yet) attached - no need to finalize it!
157  return StatusCode::SUCCESS;
158  }
159  return StatusCode::FAILURE;
160 }
The Event Selector Interface.
Definition: IEvtSelector.h:18
IEvtSelector * selector() const
Retrieve event selector object.
virtual void fireIncident(const Incident &incident)=0
Fire an Incident.
virtual StatusCode finalize()
Finalize stream and release resources.
SmartIF< IIncidentSvc > m_incidentSvc
Reference to the incident service.
Base class for all Incidents (computing events).
Definition: Incident.h:16
void ignore() const
Definition: StatusCode.h:108
StatusCode DataStreamTool::finalizeStream ( EventSelectorDataStream )
override

Finalize no longer needed stream.

StatusCode DataStreamTool::getNextStream ( const EventSelectorDataStream *&  esds,
size_type &  dsid 
)
override

Definition at line 270 of file DataStreamTool.cpp.

271 {
272 
273  EventSelectorDataStream * nextStream = getStream(dsid);
274  if ( !nextStream ) return StatusCode::FAILURE; //<-end of streams reached
275 
276  esds = nextStream;
277  ++m_streamID;
278 
279  return StatusCode::SUCCESS;
280 
281 }
EventSelectorDataStream * getStream(const std::string &) override
Retrieve stream by name.
size_type m_streamID
Definition of class EventSelectorDataStream.
StatusCode DataStreamTool::getNextStream ( const EventSelectorDataStream *&  ,
size_type &   
)
override
StatusCode DataStreamTool::getPreviousStream ( const EventSelectorDataStream *&  esds,
size_type &  dsid 
)
override

Definition at line 283 of file DataStreamTool.cpp.

284 {
285 
286  EventSelectorDataStream * previousStream = getStream(dsid);
287  if ( !previousStream ) return StatusCode::FAILURE; //<-begin of streams reached
288 
289  esds = previousStream;
290  --m_streamID;
291 
292  return StatusCode::SUCCESS;
293 
294 }
EventSelectorDataStream * getStream(const std::string &) override
Retrieve stream by name.
size_type m_streamID
Definition of class EventSelectorDataStream.
StatusCode DataStreamTool::getPreviousStream ( const EventSelectorDataStream *&  ,
size_type &   
)
override
EventSelectorDataStream* DataStreamTool::getStream ( const std::string &  )
override

Retrieve stream by name.

EventSelectorDataStream * DataStreamTool::getStream ( const std::string &  info)
override

Retrieve stream by name.

Definition at line 181 of file DataStreamTool.cpp.

181  {
182  auto i = getStreamIterator(info);
183  return i != m_streams.end() ? *i : nullptr;
184 }
Streams::iterator getStreamIterator(const std::string &)
list i
Definition: ana.py:128
EventSelectorDataStream* DataStreamTool::getStream ( size_type  )
override
EventSelectorDataStream * DataStreamTool::getStream ( size_type  pos)
override

Definition at line 193 of file DataStreamTool.cpp.

193  {
194  // pos has to point inside the vector
195  return ( (pos >= 0) && ((size_t)pos < m_streams.size()) ) ? m_streams[pos]
196  : nullptr;
197 }
Streams::iterator DataStreamTool::getStreamIterator ( const std::string &  )
protected
DataStreamTool::Streams::iterator DataStreamTool::getStreamIterator ( const std::string &  info)
protected

Definition at line 186 of file DataStreamTool.cpp.

186  {
187  return std::find_if( std::begin(m_streams), std::end(m_streams),
188  [&](const EventSelectorDataStream* i) {
189  return i->definition()==info;
190  });
191 }
auto begin(reverse_wrapper< T > &w)
Definition: reverse.h:45
auto end(reverse_wrapper< T > &w)
Definition: reverse.h:47
const std::string & definition() const
Retrieve definition string.
Definition of class EventSelectorDataStream.
list i
Definition: ana.py:128
virtual Streams& DataStreamTool::getStreams ( )
inlinevirtual

Definition at line 72 of file DataStreamTool.h.

72 { return m_streams; };
virtual Streams& DataStreamTool::getStreams ( )
inlinevirtual

Definition at line 72 of file DataStreamTool.h.

72 { return m_streams; };
StatusCode DataStreamTool::initialize ( )
override

Definition at line 33 of file DataStreamTool.cpp.

33  {
34 
36 
38  if( !status.isSuccess() ) {
39  logger << MSG::FATAL << "Error. Cannot initialize base class." << endmsg;
40  return status;
41  }
42 
43  // Get the references to the services that are needed by the ApplicationMgr itself
44  m_incidentSvc = serviceLocator()->service("IncidentSvc");
45  if( !m_incidentSvc ) {
46  logger << MSG::FATAL << "Error retrieving IncidentSvc." << endmsg;
47  return StatusCode::FAILURE;
48  }
49 
50  return StatusCode::SUCCESS;
51 
52 }
Definition of the MsgStream class used to transmit messages.
Definition: MsgStream.h:24
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
StatusCode initialize() override
Definition: AlgTool.cpp:325
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:76
GAUDIPS_API Logger & logger()
Return the current logger instance.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
SmartIF< IIncidentSvc > m_incidentSvc
Reference to the incident service.
StatusCode DataStreamTool::initialize ( )
override
StatusCode DataStreamTool::initializeStream ( EventSelectorDataStream s)
override

Initialize newly opened stream.

Definition at line 101 of file DataStreamTool.cpp.

101  {
102  IEvtSelector* sel = nullptr;
103  StatusCode status = s->initialize();
104  if ( status.isSuccess() ) {
105  status = createSelector(s->name(), s->selectorType(), sel);
106  if ( status.isSuccess() ) {
107  SmartIF<IProperty> prop(sel); //Att: IProperty, IService used to point to EventSelector
108  SmartIF<IService> isvc(sel);
109  s->setSelector(sel);
110  sel->release(); // No need for this interface anymore, it is passed to the stream
111  if ( prop && isvc ) {
112  for( const auto& i : s->properties() ) prop->setProperty(i).ignore();
113  int output_level = this->outputLevel();
114  prop->setProperty(IntegerProperty("OutputLevel",output_level)).ignore();
115  // FIXME: (MCl) Why do we have to initialize the selector here?
116  return isvc->sysInitialize();
117  }
118  }
119  }
120  return StatusCode::FAILURE;
121 }
const std::string & name() const
Retrieve stream name.
The Event Selector Interface.
Definition: IEvtSelector.h:18
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:76
virtual StatusCode initialize()
Parse input criteria.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
SimpleProperty< int > IntegerProperty
Definition: Property.h:708
StatusCode createSelector(const std::string &, const std::string &, IEvtSelector *&) override
virtual unsigned long release()=0
Release Interface instance.
const std::string & selectorType() const
Retrieve event selector type.
const Properties & properties()
Access properties.
list i
Definition: ana.py:128
virtual void setSelector(IEvtSelector *pSelector)
Attach event selector object.
StatusCode DataStreamTool::initializeStream ( EventSelectorDataStream )
override

Initialize newly opened stream.

EventSelectorDataStream * DataStreamTool::lastStream ( )
override

Definition at line 199 of file DataStreamTool.cpp.

200 {
201  return m_streams.back();
202 }
EventSelectorDataStream* DataStreamTool::lastStream ( )
override
DataStreamTool& DataStreamTool::operator= ( const DataStreamTool )
privatedelete

Fake assignment operator (never implemented).

DataStreamTool& DataStreamTool::operator= ( const DataStreamTool )
privatedelete

Fake assignment operator (never implemented).

size_type DataStreamTool::size ( )
inlineoverride

Definition at line 68 of file DataStreamTool.h.

68 { return m_streams.size(); };
size_type DataStreamTool::size ( )
inlineoverride

Definition at line 68 of file DataStreamTool.h.

68 { return m_streams.size(); };

Member Data Documentation

SmartIF< IIncidentSvc > DataStreamTool::m_incidentSvc = nullptr
protected

Reference to the incident service.

Definition at line 100 of file DataStreamTool.h.

size_type DataStreamTool::m_streamCount = 0
protected

Definition at line 93 of file DataStreamTool.h.

size_type DataStreamTool::m_streamID = 0
protected

Definition at line 91 of file DataStreamTool.h.

Streams DataStreamTool::m_streams
protected

Definition at line 95 of file DataStreamTool.h.

StreamSpecs DataStreamTool::m_streamSpecs
protected

Definition at line 97 of file DataStreamTool.h.


The documentation for this class was generated from the following files: