| The Gaudi Framework v30r0 (c919700c)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
SequentialOutputStream Class Reference

Extension of OutputStream to write run records after last event. More...

`#include <src/PersistencySvc/SequentialOutputStream.h>`

Inheritance diagram for SequentialOutputStream:
[legend]
Collaboration diagram for SequentialOutputStream:
[legend]

## Public Member Functions
| ~SequentialOutputStream () override=default
| Standard Destructor. More...
StatusCode | execute () override
Public Member Functions inherited from OutputStream
| OutputStream (const std::string &name, ISvcLocator *pSvcLocator)
| Standard algorithm Constructor. More...
virtual | ~OutputStream ()=default
| Standard Destructor. More...
StatusCode | initialize () override
| Initialize OutputStream. More...
StatusCode | finalize () override
| Terminate OutputStream. More...
StatusCode | execute () override
| Working entry point. More...
virtual StatusCode | connectConversionSvc ()
virtual bool | collect (IRegistry *dir, int level)
| Store agent's classback. More...
virtual StatusCode | collectObjects ()
| Collect all objects to be written to the output stream. More...
void | clearSelection ()
| Clear list of selected objects. More...
Public Member Functions inherited from Algorithm
| Algorithm (const std::string &name, ISvcLocator *svcloc, const std::string &version=PACKAGE_VERSION)
| Constructor. More...
StatusCode | sysStart () override
| Reinitialization method invoked by the framework. More...
StatusCode | sysInitialize () override
| Initialization method invoked by the framework. More...
StatusCode | sysReinitialize () override
| Reinitialization method invoked by the framework. More...
StatusCode | sysRestart () override
| Restart method invoked by the framework. More...
StatusCode | sysExecute (const EventContext &ctx) override
| The actions to be performed by the algorithm on an event. More...
StatusCode | sysStop () override
| System stop. More...
StatusCode | sysFinalize () override
| System finalization. More...
StatusCode | sysBeginRun () override
| beginRun method invoked by the framework. More...
StatusCode | sysEndRun () override
| endRun method invoked by the framework. More...
const std::string & | name () const override
| The identifying name of the algorithm object. More...
const Gaudi::StringKey & | nameKey () const override
const std::string & | type () const override
| The type of the algorithm object. More...
void | setType (const std::string &type) override
const std::string & | version () const override
unsigned int | index () const override
StatusCode | configure () override
| Dummy implementation of IStateful::configure() method. More...
StatusCode | terminate () override
| Dummy implementation of IStateful::terminate() method. More...
StatusCode | initialize () override
| the default (empty) implementation of IStateful::initialize() method More...
StatusCode | start () override
| the default (empty) implementation of IStateful::start() method More...
StatusCode | stop () override
| the default (empty) implementation of IStateful::stop() method More...
StatusCode | finalize () override
| the default (empty) implementation of IStateful::finalize() method More...
StatusCode | reinitialize () override
| the default (empty) implementation of IStateful::reinitialize() method More...
StatusCode | restart () override
| the default (empty) implementation of IStateful::restart() method More...
Gaudi::StateMachine::State | FSMState () const override
| returns the current state of the algorithm More...
Gaudi::StateMachine::State | targetFSMState () const override
| returns the state the algorithm will be in after the ongoing transition More...
bool | isExecuted () const override
| Has this algorithm been executed since the last reset? More...
void | setExecuted (bool state) const override
| Set the executed flag to the specified state. More...
void | resetExecuted () override
| Reset the executed state of the Algorithm for the duration of the current event. More...
StatusCode | beginRun () override
| Algorithm begin run. More...
StatusCode | endRun () override
| Algorithm end run. This method is called at the end of the event loop. More...
bool | isEnabled () const override
| Is this algorithm enabled or disabled? More...
bool | isSequence () const override
| Are we a Sequence? More...
bool | filterPassed () const override
| Did this algorithm pass or fail its filter criterion for the last event? More...
void | setFilterPassed (bool state) const override
| Set the filter passed flag to the specified state. More...
unsigned int | errorCount () const
| Get the number of failures of the algorithm. More...
template<class T >
StatusCode | service (const std::string &name, T *&psvc, bool createIf=true) const
| Access a service by name, creating it if it doesn't already exist. More...
template<class T >
StatusCode | service (const std::string &svcType, const std::string &svcName, T *&psvc) const
| Access a service by name and type, creating it if it doesn't already exist. More...
SmartIF< IService > | service (const std::string &name, const bool createIf=true, const bool quiet=false) const
| Return a pointer to the service identified by name (or "type/name") More...
template<class T >
SmartIF< T > | service (const std::string &name, bool createIf=true, bool quiet=false) const
SmartIF< IAuditorSvc > & | auditorSvc () const
| The standard auditor service.May not be invoked before sysInitialize() has been invoked. More...
SmartIF< IChronoStatSvc > & | chronoSvc () const
| The standard Chrono & Stat service, Return a pointer to the service if present. More...
SmartIF< IChronoStatSvc > & | chronoStatService () const
SmartIF< IDataProviderSvc > & | detSvc () const
| The standard detector data service. More...
SmartIF< IDataProviderSvc > & | detDataService () const
SmartIF< IConversionSvc > & | detCnvSvc () const
| The standard detector data persistency conversion service. More...
SmartIF< IConversionSvc > & | detDataCnvService () const
SmartIF< IDataProviderSvc > & | eventSvc () const
| The standard event data service. More...
SmartIF< IDataProviderSvc > & | evtSvc () const
| shortcut for method eventSvc More...
SmartIF< IDataProviderSvc > & | eventDataService () const
SmartIF< IConversionSvc > & | eventCnvSvc () const
| The standard event data persistency conversion service. More...
SmartIF< IConversionSvc > & | eventDataCnvService () const
SmartIF< IHistogramSvc > & | histoSvc () const
| The standard histogram service. More...
SmartIF< IHistogramSvc > & | histogramDataService () const
SmartIF< INTupleSvc > & | ntupleSvc () const
| The standard N tuple service. More...
SmartIF< INTupleSvc > & | ntupleService () const
SmartIF< IRndmGenSvc > & | randSvc () const
| The standard RandomGen service, Return a pointer to the service if present. More...
SmartIF< IToolSvc > & | toolSvc () const
| The standard ToolSvc service, Return a pointer to the service if present. More...
SmartIF< IExceptionSvc > & | exceptionSvc () const
| Get the exception Service. More...
SmartIF< IAlgContextSvc > & | contextSvc () const
| get Algorithm Context Service More...
SmartIF< ITimelineSvc > & | timelineSvc () const
SmartIF< ISvcLocator > & | serviceLocator () const override
| The standard service locator. More...
SmartIF< ISvcLocator > & | svcLoc () const
| shortcut for method serviceLocator More...
SmartIF< IHiveWhiteBoard > & | whiteboard () const
SmartIF< IAlgExecStateSvc > & | algExecStateSvc () const
bool | registerContext () const
| register for Algorithm Context Service? More...
StatusCode | createSubAlgorithm (const std::string &type, const std::string &name, Algorithm *&pSubAlg)
| Create a sub algorithm. More...
const std::vector< Algorithm * > * | subAlgorithms () const
| List of sub-algorithms. Returns a pointer to a vector of (sub) Algorithms. More...
std::vector< Algorithm * > * | subAlgorithms ()
| List of sub-algorithms. Returns a pointer to a vector of (sub) Algorithms. More...
StatusCode | setProperties ()
| Set the algorithm's properties. More...
template<class T >
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, ToolHandle< T > &hndl, const std::string &doc="none")
template<class T >
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, ToolHandleArray< T > &hndlArr, const std::string &doc="none")
SmartIF< IMonitorSvc > & | monitorSvc () const
| Access the monitor service. More...
template<class T >
void | declareInfo (const std::string &name, const T &var, const std::string &desc) const
| Declare monitoring information. More...
void | declareInfo (const std::string &name, const std::string &format, const void *var, int size, const std::string &desc) const
| Declare monitoring information (special case) More...
const EventContext & | getContext () const override
| get the context More...
virtual void | acceptDHVisitor (IDataHandleVisitor *) const override
void | commitHandles () override
void | registerTool (IAlgTool *tool) const
void | deregisterTool (IAlgTool *tool) const
template<class T >
StatusCode | declareTool (ToolHandle< T > &handle, std::string toolTypeAndName, bool createIf=true)
template<class T >
void | addToolsArray (ToolHandleArray< T > &hndlArr)
const std::vector< IAlgTool * > & | tools () const
bool | isIOBound () const
void | setIOBound (bool value)
unsigned int | cardinality () const override
| Return the cardinality. More...
const std::vector< std::string > & | neededResources () const override
std::ostream & | toControlFlowExpression (std::ostream &os) const override
| Produce string represention of the control flow expression. More...
Public Member Functions inherited from DataHandleHolderBase< PropertyHolder< CommonMessaging< implements< IAlgorithm, IDataHandleHolder, IProperty, IStateful > > > >
std::vector< Gaudi::DataHandle * > | inputHandles () const override
std::vector< Gaudi::DataHandle * > | outputHandles () const override
virtual const DataObjIDColl & | extraInputDeps () const override
virtual const DataObjIDColl & | extraOutputDeps () const override
void | declare (Gaudi::DataHandle &handle) override
void | renounce (Gaudi::DataHandle &handle) override
const DataObjIDColl & | inputDataObjs () const override
const DataObjIDColl & | outputDataObjs () const override
void | addDependency (const DataObjID &id, const Gaudi::DataHandle::Mode &mode) override
Public Member Functions inherited from extends< PropertyHolder< CommonMessaging< implements< IAlgorithm, IDataHandleHolder, IProperty, IStateful > > >, IDataHandleHolder >
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 PropertyHolder< CommonMessaging< implements< IAlgorithm, IDataHandleHolder, IProperty, IStateful > > >
| PropertyHolder ()=default
| ~PropertyHolder () override=default
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Details::PropertyBase &prop)
| Declare a property. More...
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, TYPE &value, const std::string &doc="none")
| Helper to wrap a regular data member and use it as a regular property. More...
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, TYPE &value, const std::string &doc="none") const
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, Gaudi::Property< TYPE, VERIFIER, HANDLERS > &prop, const std::string &doc="none")
| Declare a PropertyBase instance setting name and documentation. More...
Gaudi::Details::PropertyBase * | declareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="")
| Declare a remote property. More...
StatusCode | setProperty (const Gaudi::Details::PropertyBase &p) override
| set the property form another property More...
StatusCode | setProperty (const std::string &s) override
| set the property from the formatted string More...
StatusCode | setProperty (const std::string &n, const std::string &v) override
| set the property from name and the value More...
StatusCode | setProperty (const std::string &name, const TYPE &value)
| set the property form the value More...
StatusCode | getProperty (Gaudi::Details::PropertyBase *p) const override
| get the property More...
const Gaudi::Details::PropertyBase & | getProperty (const std::string &name) const override
| get the property by name More...
StatusCode | getProperty (const std::string &n, std::string &v) const override
| convert the property to the string More...
const std::vector< Gaudi::Details::PropertyBase * > & | getProperties () const override
| get all properties More...
bool | hasProperty (const std::string &name) const override
| Return true if we have a property with the given name. More...
| PropertyHolder (const PropertyHolder &)=delete
PropertyHolder & | operator= (const PropertyHolder &)=delete
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, GaudiHandleBase &ref, const std::string &doc="none")
| Specializations for various GaudiHandles. More...
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, GaudiHandleArrayBase &ref, const std::string &doc="none")
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, DataObjectHandleBase &ref, const std::string &doc="none")
Public Member Functions inherited from CommonMessagingBase
virtual | ~CommonMessagingBase ()=default
| Virtual destructor. More...
const SmartIF< IMessageSvc > & | msgSvc () const
| The standard message service. More...
MsgStream & | msgStream () const
| Return an uninitialized MsgStream. More...
MsgStream & | msgStream (const MSG::Level level) const
| Predefined configurable message stream for the efficient printouts. More...
MsgStream & | always () const
| shortcut for the method msgStream(MSG::ALWAYS) More...
MsgStream & | fatal () const
| shortcut for the method msgStream(MSG::FATAL) More...
MsgStream & | err () const
| shortcut for the method msgStream(MSG::ERROR) More...
MsgStream & | error () const
| shortcut for the method msgStream(MSG::ERROR) More...
MsgStream & | warning () const
| shortcut for the method msgStream(MSG::WARNING) More...
MsgStream & | info () const
| shortcut for the method msgStream(MSG::INFO) More...
MsgStream & | debug () const
| shortcut for the method msgStream(MSG::DEBUG) More...
MsgStream & | verbose () const
| shortcut for the method msgStream(MSG::VERBOSE) More...
MsgStream & | msg () const
| shortcut for the method msgStream(MSG::INFO) More...
MSG::Level | msgLevel () const
| get the cached level (originally extracted from the embedded MsgStream) More...
MSG::Level | outputLevel () const __attribute__((deprecated))
| Backward compatibility function for getting the output level. More...
bool | msgLevel (MSG::Level lvl) const
| get the output level from the embedded MsgStream More...
Public Member Functions inherited from extend_interfaces< Interfaces... >
| ~extend_interfaces () override=default
| Virtual destructor. More...

## Protected Member Functions
StatusCode | writeObjects () override
| OutputStream override: Select the different objects and write them to file. More...
Protected Member Functions inherited from OutputStream
StatusCode | decodeAcceptAlgs ()
| Decode list of Algorithms that this stream accepts. More...
void | acceptAlgsHandler (Gaudi::Details::PropertyBase &theProp)
| Handler for AcceptAlgs Property. More...
StatusCode | decodeRequireAlgs ()
| Decode list of Algorithms that this stream requires. More...
void | requireAlgsHandler (Gaudi::Details::PropertyBase &theProp)
| Handler for RequireAlgs Property. More...
StatusCode | decodeVetoAlgs ()
| Decode list of Algorithms that this stream is vetoed by. More...
void | vetoAlgsHandler (Gaudi::Details::PropertyBase &theProp)
| Handler for VetoAlgs Property. More...
Algorithm * | decodeAlgorithm (const std::string &theName)
| Decode a single algorithm name. More...
StatusCode | decodeAlgorithms (Gaudi::Property< std::vector< std::string >> &theNames, std::vector< Algorithm * > &theAlgs)
| Decode specified list of Algorithms. More...
bool | isEventAccepted () const
| Test whether this event should be output. More...
DataStoreItem * | findItem (const std::string &path)
| Find single item identified by its path (exact match) More...
virtual bool | hasInput () const
| Tell if the instance has been configured with input items or not. More...
Protected Member Functions inherited from Algorithm
std::vector< IAlgTool * > & | tools ()
bool | isInitialized () const override
| Has the Algorithm already been initialized? More...
bool | isFinalized () const override
| Has the Algorithm already been finalized? More...
void | setIndex (const unsigned int &idx) override
| set instantiation index of Alg More...
Protected Member Functions inherited from DataHandleHolderBase< PropertyHolder< CommonMessaging< implements< IAlgorithm, IDataHandleHolder, IProperty, IStateful > > > >
void | initDataHandleHolder ()
| initializes all handles - called by the sysInitialize method of any descendant of this More...
Protected Member Functions inherited from PropertyHolder< CommonMessaging< implements< IAlgorithm, IDataHandleHolder, IProperty, IStateful > > >
Gaudi::Details::PropertyBase * | property (const std::string &name) const
Protected Member Functions inherited from CommonMessaging< implements< IAlgorithm, IDataHandleHolder, IProperty, IStateful > >
MSG::Level | setUpMessaging ()
| Set up local caches. More...
MSG::Level | resetMessaging ()
| Reinitialize internal states. More...
void | updateMsgStreamOutputLevel (int level)
| Update the output level of the cached MsgStream. More...

## Private Member Functions
void | makeFilename ()

## Private Attributes
Gaudi::Property< unsigned int > | m_eventsPerFile {this, "EventsPerFile", std::numeric_limits<unsigned int>::max()}
Gaudi::Property< bool > | m_numericFilename {this, "NumericFilename", false}
Gaudi::Property< unsigned int > | m_nNumbersAdded {this, "NumbersAdded", 6}
unsigned int | m_events = 0
unsigned int | m_iFile = 1

## Additional Inherited Members
Public Types inherited from OutputStream
typedef std::vector< DataStoreItem * > | Items
typedef std::vector< std::string > | ItemNames
typedef std::map< Algorithm *, Items > | AlgDependentItems
typedef std::map< std::string, ItemNames > | AlgDependentItemNames
Public Types inherited from Algorithm
typedef Gaudi::PluginService::Factory< IAlgorithm *, const std::string &, ISvcLocator * > | Factory
Public Types inherited from extends< PropertyHolder< CommonMessaging< implements< IAlgorithm, IDataHandleHolder, IProperty, IStateful > > >, IDataHandleHolder >
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 PropertyHolder< CommonMessaging< implements< IAlgorithm, IDataHandleHolder, IProperty, IStateful > > >
using | PropertyHolderImpl = PropertyHolder< CommonMessaging< implements< IAlgorithm, IDataHandleHolder, IProperty, IStateful > > >
| Typedef used to refer to this class from derived classes, as in. More...
Public Types inherited from CommonMessaging< implements< IAlgorithm, IDataHandleHolder, IProperty, IStateful > >
using | base_class = CommonMessaging
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...
Public Attributes inherited from Algorithm
friend | AlgorithmManager
Protected Attributes inherited from OutputStream
Gaudi::Property< ItemNames > | m_itemNames {this, "ItemList", {}, "vector of item names to be saved to this stream"}
Gaudi::Property< ItemNames > | m_optItemNames
Gaudi::Property< AlgDependentItemNames > | m_algDependentItemList
Gaudi::Property< bool > | m_doPreLoad
Gaudi::Property< bool > | m_doPreLoadOpt
Gaudi::Property< std::string > | m_output {this, "Output", {}, "name of the output file specification"}
Gaudi::Property< std::string > | m_outputName {this, "OutputFile", {}, "name of the output file"}
Gaudi::Property< std::string > | m_storeName
Gaudi::Property< std::string > | m_persName
Gaudi::Property< std::vector< std::string > > | m_acceptNames
Gaudi::Property< std::vector< std::string > > | m_requireNames
Gaudi::Property< std::vector< std::string > > | m_vetoNames
Gaudi::Property< bool > | m_verifyItems
bool | m_fireIncidents = true
| should I fire incidents for writing opening/closing etc? in the baseclass, always fire the incidents by default in e.g. More...
SmartIF< IIncidentSvc > | m_incidentSvc
| Reference to the incident service. More...
std::string | m_outputType = "UPDATE"
| Output type: NEW(NEW,CREATE,WRITE,RECREATE), UPDATE) More...
std::unique_ptr< OutputStreamAgent > | m_agent
| Keep reference of agent. More...
SmartIF< IDataProviderSvc > | m_pDataProvider
| Keep reference to the data provider service. More...
SmartIF< IDataManagerSvc > | m_pDataManager
| Keep reference to the data manager service. More...
SmartIF< IConversionSvc > | m_pConversionSvc
| Keep reference to the data conversion service. More...
DataStoreItem * | m_currentItem
| Keep track of the current item. More...
Items | m_itemList
| Vector of items to be saved to this stream. More...
Items | m_optItemList
| Vector of optional items to be saved to this stream. More...
AlgDependentItems | m_algDependentItems
| Items to be saved for specific algorithms. More...
IDataSelector | m_objects
| Collection of objects being selected. More...
int | m_events
| Number of events written to this output stream. More...
std::vector< Algorithm * > | m_acceptAlgs
| Vector of Algorithms that this stream accepts. More...
std::vector< Algorithm * > | m_requireAlgs
| Vector of Algorithms that this stream requires. More...
std::vector< Algorithm * > | m_vetoAlgs
| Vector of Algorithms that this stream is vetoed by. More...
Protected Attributes inherited from Algorithm
std::unique_ptr< IDataHandleVisitor > | m_updateDataHandles
| Hook for for derived classes to provide a custom visitor for data handles. More...
Protected Attributes inherited from DataHandleHolderBase< PropertyHolder< CommonMessaging< implements< IAlgorithm, IDataHandleHolder, IProperty, IStateful > > > >
DataObjIDColl | m_inputDataObjs
DataObjIDColl | m_outputDataObjs

## Detailed Description

Extension of OutputStream to write run records after last event.

Author
  M.Frank

Version
  1.0

Definition at line 14 of file SequentialOutputStream.h.

## Constructor & Destructor Documentation

SequentialOutputStream::~SequentialOutputStream | ( |  | ) |
| override default

Standard Destructor.

## Member Function Documentation

StatusCode SequentialOutputStream::execute | ( |  | ) |
| override

Definition at line 36 of file SequentialOutputStream.cpp.

37 {
38 // Clear any previously existing item list
39 clearSelection();
40 // Test whether this event should be output
41 if ( isEventAccepted() ) {
42 StatusCode sc = writeObjects();
43 clearSelection();
44 ++m_events;
45 return sc;
46 }
47 return StatusCode::SUCCESS;
48 }
OutputStream::isEventAccepted
bool isEventAccepted() const
Test whether this event should be output.
Definition: OutputStream.cpp:533
StatusCode::SUCCESS
Definition: StatusCode.h:29
SequentialOutputStream::m_events
unsigned int m_events
Definition: SequentialOutputStream.h:35
SequentialOutputStream::writeObjects
StatusCode writeObjects() override
OutputStream override: Select the different objects and write them to file.
Definition: SequentialOutputStream.cpp:24
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
OutputStream::clearSelection
void clearSelection()
Clear list of selected objects.
Definition: OutputStream.cpp:309

void SequentialOutputStream::makeFilename | ( |  | ) |
| private

Definition at line 51 of file SequentialOutputStream.cpp.

52 {
53 if ( m_events % m_eventsPerFile != 0 ) return;
54
55 bf::path outputPath( m_outputName );
56 string filename = outputPath.filename().string();
57 bf::path dir = outputPath.parent_path();
58 string stem = outputPath.stem().string();
59 string extension = outputPath.extension().string();
60
61 if ( !dir.empty() ) {
62 if ( !bf::exists( dir ) ) {
63 stringstream stream;
64 stream << "Directory " << dir << " does not exist.";
65 throw GaudiException( stream.str(), "error", StatusCode::FAILURE );
66 }
67 }
68
69 if ( m_numericFilename ) {
70 if ( m_events == 0 ) {
71 try {
72 m_iFile = std::stoul( stem );
73 } catch ( const std::invalid_argument& /* cast */ ) {
74 string msg = "Filename " + filename + " is not a number, which was needed.";
75 throw GaudiException( msg, "error", StatusCode::FAILURE );
76 }
77 }
78 string iFile = std::to_string( m_iFile );
79 unsigned int length = 0;
80
81 if ( stem.length() > iFile.length() ) {
82 length = stem.length() - iFile.length();
83 }
84
85 stringstream name;
86 if ( !dir.empty() ) name << dir << "/";
87 for ( unsigned int i = 0; i < length; ++i ) {
88 name << "0";
89 }
90 name << iFile << extension;
91 m_outputName = name.str();
92 } else {
93 if ( m_iFile != 1 ) {
94 size_t pos = stem.rfind( "_" );
95 stem = stem.substr( 0, pos );
96 }
97
98 string iFile = std::to_string( m_iFile );
99
100 unsigned int length = 0;
101 if ( m_nNumbersAdded > iFile.length() ) {
102 length = m_nNumbersAdded - iFile.length();
103 }
104
105 stringstream name;
106 name << dir << "/" << stem;
107 for ( unsigned int i = 0; i < length; ++i ) {
108 if ( i == 0 ) name << "_";
109 name << "0";
110 }
111 name << iFile << extension;
112 m_outputName = name.str();
113 }
114 ++m_iFile;
115 }
CommonMessagingBase::msg
MsgStream & msg() const
shortcut for the method msgStream(MSG::INFO)
Definition: CommonMessaging.h:121
GaudiException
Define general base for Gaudi exception.
Definition: GaudiException.h:22
SequentialOutputStream::m_events
unsigned int m_events
Definition: SequentialOutputStream.h:35
Algorithm::name
const std::string & name() const override
The identifying name of the algorithm object.
Definition: Algorithm.cpp:737
GaudiPython.HistoUtils.path
path
Definition: HistoUtils.py:895
std::string::rfind
T rfind(T...args)
OutputStream::m_outputName
Gaudi::Property< std::string > m_outputName
Definition: OutputStream.h:52
std::to_string
T to_string(T...args)
SequentialOutputStream::m_numericFilename
Gaudi::Property< bool > m_numericFilename
Definition: SequentialOutputStream.h:31
graphanalysis.filename
string filename
Definition: graphanalysis.py:117
std::stringstream
STL class.
std::stoul
T stoul(T...args)
std::string::string
T string(T...args)
std::stringstream::str
T str(T...args)
SequentialOutputStream::m_iFile
unsigned int m_iFile
Definition: SequentialOutputStream.h:36
std::string::length
T length(T...args)
SequentialOutputStream::m_eventsPerFile
Gaudi::Property< unsigned int > m_eventsPerFile
Definition: SequentialOutputStream.h:30
std::string::substr
T substr(T...args)
StatusCode::FAILURE
Definition: StatusCode.h:29
SequentialOutputStream::m_nNumbersAdded
Gaudi::Property< unsigned int > m_nNumbersAdded
Definition: SequentialOutputStream.h:32
std::invalid_argument
STL class.

StatusCode SequentialOutputStream::writeObjects | ( |  | ) |
| override protected virtual

OutputStream override: Select the different objects and write them to file.

Reimplemented from OutputStream.

Definition at line 24 of file SequentialOutputStream.cpp.

25 {
26 try {
27 makeFilename();
28 } catch ( const GaudiException& except ) {
29 error() << except.message() << endmsg;
30 return StatusCode::FAILURE;
31 }
32 return OutputStream::writeObjects();
33 }
GaudiException::message
virtual const std::string & message() const
error message to be printed
Definition: GaudiException.h:99
GaudiException
Define general base for Gaudi exception.
Definition: GaudiException.h:22
SequentialOutputStream::makeFilename
void makeFilename()
Definition: SequentialOutputStream.cpp:51
OutputStream::writeObjects
virtual StatusCode writeObjects()
Select the different objects and write them to file.
Definition: OutputStream.cpp:162
CommonMessagingBase::error
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
Definition: CommonMessaging.h:106
StatusCode::FAILURE
Definition: StatusCode.h:29
endmsg
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:209

## Member Data Documentation

unsigned int SequentialOutputStream::m_events = 0
| private

Definition at line 35 of file SequentialOutputStream.h.

Gaudi::Property<unsigned int> SequentialOutputStream::m_eventsPerFile {this, "EventsPerFile", std::numeric_limits<unsigned int>::max()}
| private

Definition at line 30 of file SequentialOutputStream.h.

unsigned int SequentialOutputStream::m_iFile = 1
| private

Definition at line 36 of file SequentialOutputStream.h.

Gaudi::Property<unsigned int> SequentialOutputStream::m_nNumbersAdded {this, "NumbersAdded", 6}
| private

Definition at line 32 of file SequentialOutputStream.h.

Gaudi::Property<bool> SequentialOutputStream::m_numericFilename {this, "NumericFilename", false}
| private

Definition at line 31 of file SequentialOutputStream.h.

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

- GaudiCommonSvc/src/PersistencySvc/SequentialOutputStream.h
- GaudiCommonSvc/src/PersistencySvc/SequentialOutputStream.cpp