1 #ifndef GAUDISVC_PERSISTENCYSVC_OUTPUTSTREAM_H 2 #define GAUDISVC_PERSISTENCYSVC_OUTPUTSTREAM_H 40 this,
"OptItemList", {},
"vector of optional item names to be saved to this stream"};
43 "AlgDependentItemList",
45 "mapping between algorithm names, and a list of items for which, if the " 46 "algorithm in question accepted the event, they should be also stored"};
48 "flag indicating whether data pre-loading should be performed"};
50 "flag indicating whether optional items should be preloaded"};
54 "name of the service managing the data store"};
56 "name of the persistency service capable to write data from the store"};
58 this,
"AcceptAlgs", {},
"names of Algorithms that this stream accepts"};
60 this,
"RequireAlgs", {},
"names of Algorithms that this stream requires"};
62 this,
"VetoAlgs", {},
"names of Algorithms that this stream is vetoed by"};
64 "flag to indicate that item consistency should be checked"};
162 #endif // GAUDISVC_PERSISTENCYSVC_OUTPUTSTREAM_H Gaudi::Property< std::vector< std::string > > m_acceptNames
bool isEventAccepted() const
Test whether this event should be output.
void clearItems(Items &itms)
Clear item list.
virtual bool hasInput() const
Tell if the instance has been configured with input items or not.
Gaudi::Property< std::vector< std::string > > m_vetoNames
StatusCode decodeRequireAlgs()
Decode list of Algorithms that this stream requires.
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
IDataSelector m_objects
Collection of objects being selected.
StatusCode finalize() override
Terminate OutputStream.
const std::string & name() const override
The identifying name of the algorithm object.
virtual ~OutputStream()=default
Standard Destructor.
int m_events
Number of events written to this output stream.
Implementation of property with value of concrete type.
std::map< std::string, ItemNames > AlgDependentItemNames
std::map< Algorithm *, Items > AlgDependentItems
std::string m_outputType
Output type: NEW(NEW,CREATE,WRITE,RECREATE), UPDATE)
Gaudi::Property< bool > m_verifyItems
DataStoreItem * m_currentItem
Keep track of the current item.
Gaudi::Property< std::string > m_output
Gaudi::Property< std::string > m_outputName
Gaudi::Property< ItemNames > m_optItemNames
std::vector< Algorithm * > m_requireAlgs
Vector of Algorithms that this stream requires.
IDataSelector * selectedObjects()
Return the list of selected objects.
SmartIF< IDataProviderSvc > m_pDataProvider
Keep reference to the data provider service.
Description of the DataStoreItem class.
Gaudi::Property< bool > m_doPreLoad
std::unique_ptr< OutputStreamAgent > m_agent
Keep reference of agent.
A small to stream Data I/O.
std::vector< Algorithm * > m_acceptAlgs
Vector of Algorithms that this stream accepts.
StatusCode decodeAlgorithms(Gaudi::Property< std::vector< std::string >> &theNames, std::vector< Algorithm * > &theAlgs)
Decode specified list of Algorithms.
virtual bool collect(IRegistry *dir, int level)
Store agent's classback.
DataStoreItem * findItem(const std::string &path)
Find single item identified by its path (exact match)
void requireAlgsHandler(Gaudi::Details::PropertyBase &theProp)
Handler for RequireAlgs Property.
virtual StatusCode writeObjects()
Select the different objects and write them to file.
SmartIF< IConversionSvc > m_pConversionSvc
Keep reference to the data conversion service.
StatusCode initialize() override
Initialize OutputStream.
virtual StatusCode connectConversionSvc()
AlgDependentItems m_algDependentItems
Items to be saved for specific algorithms.
std::vector< DataStoreItem * > Items
Gaudi::Property< std::vector< std::string > > m_requireNames
void vetoAlgsHandler(Gaudi::Details::PropertyBase &theProp)
Handler for VetoAlgs Property.
This class is used for returning status codes from appropriate routines.
Items m_itemList
Vector of items to be saved to this stream.
void addItem(Items &itms, const std::string &descriptor)
Add item to output streamer list.
The IRegistry represents the entry door to the environment any data object residing in a transient da...
PropertyBase base class allowing PropertyBase* collections to be "homogeneous".
Gaudi::Property< AlgDependentItemNames > m_algDependentItemList
SmartIF< IDataManagerSvc > m_pDataManager
Keep reference to the data manager service.
void clearSelection()
Clear list of selected objects.
SmartIF< IIncidentSvc > m_incidentSvc
Reference to the incident service.
StatusCode decodeVetoAlgs()
Decode list of Algorithms that this stream is vetoed by.
void acceptAlgsHandler(Gaudi::Details::PropertyBase &theProp)
Handler for AcceptAlgs Property.
StatusCode execute() override
Working entry point.
Base class from which all concrete algorithm classes should be derived.
Gaudi::Property< std::string > m_storeName
std::vector< std::string > ItemNames
Gaudi::Property< bool > m_doPreLoadOpt
Algorithm * decodeAlgorithm(const std::string &theName)
Decode a single algorithm name.
OutputStream(const std::string &name, ISvcLocator *pSvcLocator)
Standard algorithm Constructor.
Gaudi::Property< std::string > m_persName
std::vector< Algorithm * > m_vetoAlgs
Vector of Algorithms that this stream is vetoed by.
Gaudi::Property< ItemNames > m_itemNames
virtual StatusCode collectObjects()
Collect all objects to be written to the output stream.
The interface implemented by the IncidentSvc service.
StatusCode decodeAcceptAlgs()
Decode list of Algorithms that this stream accepts.
bool m_fireIncidents
should I fire incidents for writing opening/closing etc? in the baseclass, always fire the incidents ...
Items m_optItemList
Vector of optional items to be saved to this stream.