ATLAS Offline Software
IByteStreamInputSvc.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef BYTESTREAMCNVSVC_BYTESTREAMINPUTSVC_H
6 #define BYTESTREAMCNVSVC_BYTESTREAMINPUTSVC_H
7 
14 #include "GaudiKernel/IInterface.h"
15 
16 
21 class IByteStreamInputSvc : virtual public IInterface {
22 public:
24 
26  virtual const RawEvent* nextEvent() = 0;
27  virtual const RawEvent* previousEvent() = 0;
28  virtual void setEvent(void* /*data*/, unsigned int /*status*/) {}
30  virtual const RawEvent* currentEvent() const = 0;
32  virtual unsigned int currentEventStatus() const;
33  virtual std::pair<long,std::string> getBlockIterator(const std::string& /* file */);
34  virtual void closeBlockIterator(bool);
35  virtual bool ready();
36  virtual StatusCode generateDataHeader();
37  virtual long positionInBlock();
38  virtual void validateEvent();
39 };
40 
41 inline unsigned int IByteStreamInputSvc::currentEventStatus() const {
42  return(0);
43 }
44 
45 // Virtual methods needed for file input
46 inline std::pair<long,std::string> IByteStreamInputSvc::getBlockIterator(const std::string& /* file */) {return std::make_pair(-1,"GUID");}
48 inline bool IByteStreamInputSvc::ready() {return false;}
49 inline StatusCode IByteStreamInputSvc::generateDataHeader() {return StatusCode::SUCCESS;}
50 inline long IByteStreamInputSvc::positionInBlock() {return -1;}
52 #endif
IByteStreamInputSvc
This class provides the interface to services to read bytestream data. The concrete class can provide...
Definition: IByteStreamInputSvc.h:21
IByteStreamInputSvc::previousEvent
virtual const RawEvent * previousEvent()=0
RawEvent
OFFLINE_FRAGMENTS_NAMESPACE::FullEventFragment RawEvent
data type for reading raw event
Definition: RawEvent.h:37
IByteStreamInputSvc::currentEventStatus
virtual unsigned int currentEventStatus() const
virtual method for accessing the current event status
Definition: IByteStreamInputSvc.h:41
IByteStreamInputSvc::positionInBlock
virtual long positionInBlock()
Definition: IByteStreamInputSvc.h:50
RawEvent.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IByteStreamInputSvc::setEvent
virtual void setEvent(void *, unsigned int)
Definition: IByteStreamInputSvc.h:28
IByteStreamInputSvc::validateEvent
virtual void validateEvent()
Definition: IByteStreamInputSvc.h:51
IByteStreamInputSvc::getBlockIterator
virtual std::pair< long, std::string > getBlockIterator(const std::string &)
Definition: IByteStreamInputSvc.h:46
IByteStreamInputSvc::nextEvent
virtual const RawEvent * nextEvent()=0
virtual method for advance to the next event
IByteStreamInputSvc::closeBlockIterator
virtual void closeBlockIterator(bool)
Definition: IByteStreamInputSvc.h:47
IByteStreamInputSvc::DeclareInterfaceID
DeclareInterfaceID(IByteStreamInputSvc, 1, 0)
IByteStreamInputSvc::generateDataHeader
virtual StatusCode generateDataHeader()
Definition: IByteStreamInputSvc.h:49
IByteStreamInputSvc::currentEvent
virtual const RawEvent * currentEvent() const =0
virtual method for accessing the current event
IByteStreamInputSvc::ready
virtual bool ready()
Definition: IByteStreamInputSvc.h:48