![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
3 #ifndef EVENT_BYTESTREAMCNVSVC_SRC_BYTESTREAMEVENTSTORAGEOUTPUTSVC_H_
4 #define EVENT_BYTESTREAMCNVSVC_SRC_BYTESTREAMEVENTSTORAGEOUTPUTSVC_H_
26 #include "EventStorage/EventStorageRecords.h"
30 #include "GaudiKernel/extends.h"
31 #include "GaudiKernel/IIoComponent.h"
32 #include "GaudiKernel/IIoComponentMgr.h"
33 #include "GaudiKernel/ServiceHandle.h"
47 public extends< ByteStreamOutputSvc, IIoComponent > {
49 using extends::extends;
53 const std::string&
name, ISvcLocator* pSvcLocator);
63 queryInterface(
const InterfaceID& riid,
void** ppvInterface)
override;
76 Gaudi::Property<std::string>
m_inputDir{
this,
"OutputDirectory",
"",
77 "directory for the data files"};
84 Gaudi::Property<std::string>
m_appName{
this,
"AppName",
"",
88 Gaudi::Property<std::string>
m_fileTag{
this,
"FileTag",
"",
101 "current",
"Version of the event format data, use \"v40\" or \"run1\" "
102 "for run1, \"current\" for most current version (default)."};
106 "EventStorageVersion",
"current",
"Version of the ByteStream file data, "
107 "use \"v5\" or \"run1\" for run1, \"current\" for most current version "
112 name(),
"stream name for multiple output"};
116 "for filename not from AgreedFileName"};
123 Gaudi::Property<int>
m_run{
this,
"RunNumber", 0,
"part of filename"};
126 Gaudi::Property<bool>
m_dump{
this,
"DumpFlag",
false,
"dump fragments"};
136 Gaudi::Property<unsigned int>
m_maxFileMB{
this,
"MaxFileMB", 10000,
140 Gaudi::Property<unsigned int>
m_maxFileNE{
this,
"MaxFileNE", 100000,
144 "EventInfo",
"Key for EventInfo object in event store"};
147 "ByteStreamMetadataKey",
"MetaDataStore+ByteStreamMetadata",
148 "Key for bytestream metadata object in metadata store"};
182 std::unique_ptr< uint32_t[] >
buffer{
nullptr};
203 #endif // EVENT_BYTESTREAMCNVSVC_SRC_BYTESTREAMEVENTSTORAGEOUTPUTSVC_H_
Property holding a SG store/key/clid from which a ReadHandle is made.
bool initDataWriter(const EventContext *ctx=nullptr)
initialize EventStorage's DataWriter
SG::ReadHandleKey< ByteStreamMetadataContainer > m_byteStreamMetadataKey
This file contains the class definition for the ByteStreamOutputSvc class.
virtual ~ByteStreamEventStorageOutputSvc()
Destructor.
Gaudi::Property< bool > m_writeEventless
Compress events.
StatusCode io_reinit() override
SG::SlotSpecificObj< EventCache > m_eventCache
Cache of event data for each slot.
Gaudi::Property< std::string > m_streamType
stream name
OFFLINE_FRAGMENTS_NAMESPACE::FullEventFragment RawEvent
data type for reading raw event
int m_totalEventCounter
number of event counter
Gaudi::Property< int > m_lumiBlockNumber
run number
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Gaudi::Property< unsigned int > m_maxFileNE
Gaudi::Property< std::string > m_streamName
eformat event version to produce, "v40" for run1, or "current"
Gaudi::Property< std::string > m_inputDir
< directory for the data files
const ByteStreamMetadata * getByteStreamMetadata()
virtual bool putEvent(const RawEvent *re) override
Implementation of the ByteStreamOutputSvc interface method putEvent.
StatusCode reinit()
reinitialize the service when a fork() occurred/was-issued
This file contains the class definition for the ByteStreamDataWriter class.
Gaudi::Property< int > m_run
Dump fragments.
Maintain a set of objects, one per slot.
Gaudi::Property< std::string > m_eformatVersion
EventStorage BS version to produce, "v5" for run1, or "current".
std::unique_ptr< ByteStreamDataWriter > m_dataWriter
pointer to DataWriter
Gaudi::Property< std::string > m_simpleFileName
use this string for filename, not from the "AgreedFileName"
void updateDataWriterParameters(DataWriterParameters &) const
Create DataWriter parameters from job properties.
Gaudi::Property< std::string > m_appName
File Tag.
::StatusCode StatusCode
StatusCode definition for legacy code.
Gaudi::Property< std::string > m_bsOutputStreamName
This class provides the services for writing FullEventFragment into file. This class implements the i...
Gaudi::Property< std::string > m_fileTag
stream type
std::mutex m_dataWriterMutex
mutex to lock data writer during initialization or writing
Class containing parameters needed to initiate DataWriter.
ServiceHandle< IIoComponentMgr > m_ioMgr
ByteStreamEventStorageOutputSvc(const std::string &name, ISvcLocator *pSvcLocator)
Constructors:
StatusCode finalize() override
Gaudi::Property< std::string > m_eventStorageVersion
stream name for multiple output
StatusCode initialize() override
Required of all Gaudi Services.
Gaudi::Property< bool > m_dump
Write eventless files.
This class provides general information about an event. Event information is provided by the accessor...
bool initDataWriterContents(const xAOD::EventInfo *, const ByteStreamMetadata *)
Gaudi::Property< bool > m_compressEvents
number of MB per file
Class describing the basic event information.
StatusCode stop() override
const boost::regex re(r_e)
Gaudi::Property< unsigned int > m_maxFileMB
number of events per file
Maintain a set of objects, one per slot.
StatusCode queryInterface(const InterfaceID &riid, void **ppvInterface) override
Gaudi::Property< std::string > m_projectTag
Application Name.
std::unique_ptr< uint32_t[] > buffer
Underlying data structure.