![]() |
ATLAS Offline Software
|
This class provides configuration properties to enable OutputStream file sequences. More...
#include <OutputStreamSequencerSvc.h>
Public Types | |
typedef std::pair< std::string, std::string > | RangeReport_t |
typedef std::unique_ptr< RangeReport_t > | RangeReport_ptr |
Public Member Functions | |
OutputStreamSequencerSvc (const std::string &name, ISvcLocator *pSvcLocator) | |
Standard Service Constructor. More... | |
virtual | ~OutputStreamSequencerSvc () |
Destructor. More... | |
virtual StatusCode | initialize () override final |
Required of all Gaudi services: More... | |
virtual StatusCode | finalize () override final |
Required of all Gaudi services: More... | |
virtual void | handle (const Incident &) override final |
Incident service handle. More... | |
std::string | buildSequenceFileName (const std::string &) |
Returns sequenced file name for output stream. More... | |
void | publishRangeReport (const std::string &outputFile) |
RangeReport_ptr | getRangeReport () |
std::string | incidentName () const |
The name of the incident that starts a new event sequence. More... | |
std::string | currentRangeID () const |
The current Event Range ID (only one range is returned) More... | |
std::string | setRangeID (const std::string &rangeID) |
set the RangeID (possibly temporarily) so the right Range Filename may be generated More... | |
bool | inUse () const |
Is the service in active use? (true after the first range incident is handled) More... | |
const std::string & | lastIncident () |
Last incident type that was handled. More... | |
Static Public Member Functions | |
static bool | inConcurrentEventsMode () |
Are there concurrent events? (threads>1) More... | |
Private Attributes | |
ServiceHandle< MetaDataSvc > | m_metaDataSvc |
int | m_fileSequenceNumber {} |
The event sequence number. More... | |
std::string | m_currentRangeID |
Current EventRange ID constructed on the last NextRange incident. More... | |
std::string | m_lastFileName |
Recently constructed full file name (useful in single threaded processing) More... | |
std::string | m_lastIncident |
Last incident type that was handled. More... | |
std::vector< std::string > | m_rangeIDinSlot |
EventRange ID for all slots. More... | |
StringProperty | m_incidentName |
SequenceIncidentName, incident name for triggering file sequencing. More... | |
BooleanProperty | m_reportingOn |
Flag to switch on storage of reporting info in fnToRangeId. More... | |
BooleanProperty | m_replaceRangeMode |
Flag to put in ReplaceRangeMode (i.e. More... | |
std::map< std::string, std::string > | m_fnToRangeId |
std::map< std::string, std::string >::iterator | m_finishedRange {} |
std::mutex | m_mutex |
This class provides configuration properties to enable OutputStream file sequences.
Definition at line 29 of file OutputStreamSequencerSvc.h.
typedef std::unique_ptr<RangeReport_t> OutputStreamSequencerSvc::RangeReport_ptr |
Definition at line 35 of file OutputStreamSequencerSvc.h.
typedef std::pair<std::string,std::string> OutputStreamSequencerSvc::RangeReport_t |
Definition at line 34 of file OutputStreamSequencerSvc.h.
OutputStreamSequencerSvc::OutputStreamSequencerSvc | ( | const std::string & | name, |
ISvcLocator * | pSvcLocator | ||
) |
|
virtual |
std::string OutputStreamSequencerSvc::buildSequenceFileName | ( | const std::string & | orgFileName | ) |
Returns sequenced file name for output stream.
Definition at line 176 of file OutputStreamSequencerSvc.cxx.
std::string OutputStreamSequencerSvc::currentRangeID | ( | ) | const |
The current Event Range ID (only one range is returned)
Definition at line 254 of file OutputStreamSequencerSvc.cxx.
|
finaloverridevirtual |
OutputStreamSequencerSvc::RangeReport_ptr OutputStreamSequencerSvc::getRangeReport | ( | ) |
Definition at line 285 of file OutputStreamSequencerSvc.cxx.
|
finaloverridevirtual |
Incident service handle.
Definition at line 90 of file OutputStreamSequencerSvc.cxx.
|
inline |
The name of the incident that starts a new event sequence.
Definition at line 59 of file OutputStreamSequencerSvc.h.
|
static |
Are there concurrent events? (threads>1)
Definition at line 79 of file OutputStreamSequencerSvc.cxx.
|
finaloverridevirtual |
bool OutputStreamSequencerSvc::inUse | ( | ) | const |
Is the service in active use? (true after the first range incident is handled)
Definition at line 84 of file OutputStreamSequencerSvc.cxx.
|
inline |
void OutputStreamSequencerSvc::publishRangeReport | ( | const std::string & | outputFile | ) |
Definition at line 279 of file OutputStreamSequencerSvc.cxx.
std::string OutputStreamSequencerSvc::setRangeID | ( | const std::string & | rangeID | ) |
set the RangeID (possibly temporarily) so the right Range Filename may be generated
Definition at line 265 of file OutputStreamSequencerSvc.cxx.
|
private |
Current EventRange ID constructed on the last NextRange incident.
Definition at line 83 of file OutputStreamSequencerSvc.h.
|
private |
The event sequence number.
Definition at line 80 of file OutputStreamSequencerSvc.h.
|
private |
Definition at line 111 of file OutputStreamSequencerSvc.h.
|
private |
Definition at line 110 of file OutputStreamSequencerSvc.h.
|
private |
SequenceIncidentName, incident name for triggering file sequencing.
Definition at line 96 of file OutputStreamSequencerSvc.h.
|
private |
Recently constructed full file name (useful in single threaded processing)
Definition at line 86 of file OutputStreamSequencerSvc.h.
|
private |
Last incident type that was handled.
Definition at line 89 of file OutputStreamSequencerSvc.h.
|
private |
Definition at line 77 of file OutputStreamSequencerSvc.h.
|
mutableprivate |
Definition at line 113 of file OutputStreamSequencerSvc.h.
|
private |
EventRange ID for all slots.
Definition at line 92 of file OutputStreamSequencerSvc.h.
|
private |
Flag to put in ReplaceRangeMode (i.e.
everything between [ and ] (inclusive) is replaced with the range_idth element of that list)
Definition at line 104 of file OutputStreamSequencerSvc.h.
|
private |
Flag to switch on storage of reporting info in fnToRangeId.
Definition at line 99 of file OutputStreamSequencerSvc.h.