7#ifndef ATHENAROOTCOMPS_ROOTNTUPLEOUTPUTSTREAM_H
8#define ATHENAROOTCOMPS_ROOTNTUPLEOUTPUTSTREAM_H
18#include "GaudiKernel/IDataSelector.h"
19#include "GaudiKernel/ClassID.h"
20#include "GaudiKernel/ServiceHandle.h"
21#include "GaudiKernel/ToolHandle.h"
22#include "GaudiKernel/IIncidentListener.h"
47 :
virtual public IIncidentListener,
53 typedef std::vector<SG::DataProxy*>
Items;
106 typedef std::vector<std::pair<std::string, std::string> >
TypeKeyPairs;
116 virtual StatusCode
finalize() override;
117 virtual StatusCode
execute(const EventContext& ctx) override;
120 virtual StatusCode
write();
132 virtual void handle(
const Incident& incident)
override;
virtual void handle(const Incident &incident) override
Incident service handle listening for MetaDataStop.
std::vector< SG::FolderItem > m_selection
list of selected proxies.
StringProperty m_writingTool
Name of the OutputStreamTool used for writing.
void clearSelection()
Clear list of selected objects.
IDataSelector * selectedObjects()
Return the list of selected objects.
bool m_dynamicItemList
dynamic output itemlist: if enabled rediscover object list to be written out at each event otherwise:...
virtual StatusCode execute(const EventContext &ctx) override
Execute method.
std::vector< SG::DataProxy * > Items
virtual StatusCode write()
Stream the data.
bool m_provideDef
set to true to allow defaults being provided for non-existent data objects.
bool m_itemListFromTool
set to write out everything from input DataHeader
ServiceHandle< StoreGateSvc > m_dataStore
handle to the StoreGateSvc store where the data we want to write out resides
void collectAllObjects()
Collect data objects for output streamer list.
IDataSelector m_objects
Collection of objects beeing selected.
bool m_persToPers
set to true to allow data objects being copied persistent to persistent (without SG retrieve).
StringArrayProperty m_itemList
Vector of item names.
RootNtupleOutputStream(const std::string &name, ISvcLocator *pSvcLocator)
Standard algorithm Constructor.
bool m_forceRead
set to true to force read of data objects in item list
bool m_writeOnExecute
set to true to trigger streaming of data on execute()
std::string m_persName
Name of the persistency service capable to write data from the store.
StringProperty m_processTag
tag of processing stage:
virtual StatusCode initialize() override
ToolHandle< IAthenaOutputStreamTool > m_streamer
pointer to AthenaOutputStreamTool
ToolHandleArray< IAthenaOutputTool > m_helperTools
vector of AlgTools that that are executed by this stream
ServiceHandle< IClassIDSvc > IClassIDSvc_t
bool m_writeOnFinalize
set to true to trigger streaming of data on finalize()
virtual StatusCode finalize() override
std::string m_outputName
Name of the output file.
int m_events
Number of events written to this output stream.
std::vector< unsigned int > m_exemptPersToPers
std::vector< std::pair< std::string, std::string > > TypeKeyPairs
DataProxy provides the registry services for StoreGate.
FilteredAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Standard algorithm Constructor.
The Athena Transient Store API.
Some weak symbol referencing magic... These are declared in AthenaKernel/getMessageSvc....