| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

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

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

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
InputCopyStream Class Reference

Extension of OutputStream to copy the content of the main input file. More...

`#include <InputCopyStream.h>`

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

## Public Member Functions
| InputCopyStream (const std::string &name, ISvcLocator *pSvcLocator)
| Standard algorithm Constructor.
virtual | ~InputCopyStream ()
| Standard Destructor.
virtual StatusCode | initialize ()
| Initialize the instance.
virtual StatusCode | finalize ()
| Finalize the instance.
virtual StatusCode | collectObjects ()
| Collect all objects to be written to the output stream.
Public Member Functions inherited from OutputStream
| OutputStream (const std::string &name, ISvcLocator *pSvcLocator)
| Standard algorithm Constructor.
virtual | ~OutputStream ()
| Standard Destructor.
virtual StatusCode | execute ()
| Working entry point.
virtual StatusCode | connectConversionSvc ()
virtual bool | collect (IRegistry *dir, int level)
| Store agent's classback.
void | clearItems (Items &itms)
| Clear item list.
void | addItem (Items &itms, const std::string &descriptor)
| Add item to output streamer list.
void | clearSelection ()
| Clear list of selected objects.
IDataSelector * | selectedObjects ()
| Return the list of selected objects.
Public Member Functions inherited from Algorithm
| Algorithm (const std::string &name, ISvcLocator *svcloc, const std::string &version=PACKAGE_VERSION)
| Constructor.
virtual | ~Algorithm ()
| Destructor.
virtual StatusCode | sysStart ()
| Reinitialization method invoked by the framework.
virtual StatusCode | sysInitialize ()
| Initialization method invoked by the framework.
virtual StatusCode | sysReinitialize ()
| Reinitialization method invoked by the framework.
virtual StatusCode | sysRestart ()
| Restart method invoked by the framework.
virtual StatusCode | sysExecute ()
| The actions to be performed by the algorithm on an event.
virtual StatusCode | sysStop ()
| System stop.
virtual StatusCode | sysFinalize ()
| System finalization.
virtual StatusCode | sysBeginRun ()
| beginRun method invoked by the framework.
virtual StatusCode | sysEndRun ()
| endRun method invoked by the framework.
virtual const std::string & | name () const
| The identifying name of the algorithm object.
virtual const std::string & | version () const
virtual StatusCode | configure ()
| Dummy implementation of IStateful::configure() method.
virtual StatusCode | terminate ()
| Dummy implementation of IStateful::terminate() method.
virtual StatusCode | start ()
| the default (empty) implementation of IStateful::start() method
virtual StatusCode | stop ()
| the default (empty) implementation of IStateful::stop() method
virtual StatusCode | reinitialize ()
| the default (empty) implementation of IStateful::reinitialize() method
virtual StatusCode | restart ()
| the default (empty) implementation of IStateful::restart() method
virtual bool | isExecuted () const
| Has this algorithm been executed since the last reset?
virtual void | setExecuted (bool state)
| Set the executed flag to the specified state.
virtual void | resetExecuted ()
| Reset the executed state of the Algorithm for the duration of the current event.
virtual StatusCode | beginRun ()
| Algorithm begin run.
virtual StatusCode | endRun ()
| Algorithm end run. This method is called at the end of the event loop.
virtual Gaudi::StateMachine::State | FSMState () const
| returns the current state of the algorithm
virtual Gaudi::StateMachine::State | targetFSMState () const
| returns the state the algorithm will be in after the ongoing transition
virtual bool | isEnabled () const
| Is this algorithm enabled or disabled?
virtual bool | filterPassed () const
| Did this algorithm pass or fail its filter criterion for the last event?
virtual void | setFilterPassed (bool state)
| Set the filter passed flag to the specified state.
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.
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.
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")
void | setOutputLevel (int level)
| Set the output level for current algorithm.
SmartIF< IAuditorSvc > & | auditorSvc () const
| The standard auditor service.May not be invoked before sysInitialize() has been invoked.
SmartIF< IChronoStatSvc > & | chronoSvc () const
| The standard Chrono & Stat service, Return a pointer to the service if present.
SmartIF< IChronoStatSvc > & | chronoStatService () const
| Obsoleted name, kept due to the backwards compatibility.
SmartIF< IDataProviderSvc > & | detSvc () const
| The standard detector data service.
SmartIF< IDataProviderSvc > & | detDataService () const
| Obsoleted name, kept due to the backwards compatibility.
SmartIF< IConversionSvc > & | detCnvSvc () const
| The standard detector data persistency conversion service.
SmartIF< IConversionSvc > & | detDataCnvService () const
| Obsoleted name, kept due to the backwards compatibility.
SmartIF< IDataProviderSvc > & | eventSvc () const
| The standard event data service.
SmartIF< IDataProviderSvc > & | evtSvc () const
| shortcut for method eventSvc
SmartIF< IDataProviderSvc > & | eventDataService () const
| Obsoleted name, kept due to the backwards compatibility.
SmartIF< IConversionSvc > & | eventCnvSvc () const
| The standard event data persistency conversion service.
SmartIF< IConversionSvc > & | eventDataCnvService () const
| Obsoleted name, kept due to the backwards compatibility.
SmartIF< IHistogramSvc > & | histoSvc () const
| The standard histogram service.
SmartIF< IHistogramSvc > & | histogramDataService () const
| Obsoleted name, kept due to the backwards compatibility.
SmartIF< IMessageSvc > & | msgSvc () const
| The standard message service.
SmartIF< IMessageSvc > & | messageService () const
| Obsoleted name, kept due to the backwards compatibility.
SmartIF< INTupleSvc > & | ntupleSvc () const
| The standard N tuple service.
SmartIF< INTupleSvc > & | ntupleService () const
| Obsoleted name, kept due to the backwards compatibility.
SmartIF< IRndmGenSvc > & | randSvc () const
| AIDA-based NTuple service Returns a pointer to the AIDATuple service if present.
SmartIF< IToolSvc > & | toolSvc () const
| The standard ToolSvc service, Return a pointer to the service if present.
SmartIF< IExceptionSvc > & | exceptionSvc () const
| Get the exception Service.
SmartIF< IAlgContextSvc > & | contextSvc () const
| get Algorithm Context Service
SmartIF< ISvcLocator > & | serviceLocator () const
| The standard service locator.
SmartIF< ISvcLocator > & | svcLoc () const
| shortcut for method serviceLocator
bool | registerContext () const
| register for Algorithm Context Service?
StatusCode | createSubAlgorithm (const std::string &type, const std::string &name, Algorithm *&pSubAlg)
| Create a sub algorithm.
std::vector< Algorithm * > * | subAlgorithms () const
| List of sub-algorithms. Returns a pointer to a vector of (sub) Algorithms.
virtual StatusCode | setProperty (const Property &p)
| Implementation of IProperty::setProperty.
virtual StatusCode | setProperty (const std::string &s)
| Implementation of IProperty::setProperty.
virtual StatusCode | setProperty (const std::string &n, const std::string &v)
| Implementation of IProperty::setProperty.
virtual StatusCode | getProperty (Property *p) const
| Implementation of IProperty::getProperty.
virtual const Property & | getProperty (const std::string &name) const
| Implementation of IProperty::getProperty.
virtual StatusCode | getProperty (const std::string &n, std::string &v) const
| Implementation of IProperty::getProperty.
virtual const std::vector < Property * > & | getProperties () const
| Implementation of IProperty::getProperties.
StatusCode | setProperties ()
| Set the algorithm's properties.
template<class T >
Property * | declareProperty (const std::string &name, T &property, const std::string &doc="none") const
| Declare the named property.
Property * | declareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="") const
| Declare remote named properties.
SmartIF< IMonitorSvc > & | monitorSvc () const
| Access the monitor service.
template<class T >
void | declareInfo (const std::string &name, const T &var, const std::string &desc) const
| Declare monitoring information.
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)
template<class TYPE >
StatusCode | setProperty (const std::string &name, const TYPE &value)
| set the property form the value

## Protected Member Functions
virtual bool | hasInput () const
| Overridden from the base class (InputCopyStream has always input).
Protected Member Functions inherited from OutputStream
StatusCode | decodeAcceptAlgs ()
| Decode list of Algorithms that this stream accepts.
void | acceptAlgsHandler (Property &theProp)
| Handler for AcceptAlgs Property.
StatusCode | decodeRequireAlgs ()
| Decode list of Algorithms that this stream requires.
void | requireAlgsHandler (Property &theProp)
| Handler for RequireAlgs Property.
StatusCode | decodeVetoAlgs ()
| Decode list of Algorithms that this stream is vetoed by.
void | vetoAlgsHandler (Property &theProp)
| Handler for VetoAlgs Property.
StatusCode | decodeAlgorithms (StringArrayProperty &theNames, std::vector< Algorithm * > *theAlgs)
| Decode specified list of Algorithms.
bool | isEventAccepted () const
| Test whether this event should be output.
DataStoreItem * | findItem (const std::string &path)
| Find single item identified by its path (exact match)
virtual StatusCode | writeObjects ()
| Select the different objects and write them to file.
Protected Member Functions inherited from Algorithm
bool | isInitialized () const
| Has the Algorithm already been initialized?
bool | isFinalized () const
| Has the Algorithm already been finalized?
int | outputLevel () const
| retrieve the Algorithm output level
IntegerProperty & | outputLevelProperty ()
| Accessor for the Message level property.
void | initOutputLevel (Property &prop)
| callback for output level property

## Private Attributes
IDataStoreLeaves * | m_leavesTool
| Pointer to the (public) tool used to retrieve the objects in a file.
std::vector< std::string > | m_tesVetoList
| Names of TES locations to Veto.

## Additional Inherited Members
Public Types inherited from OutputStream
typedef std::vector < DataStoreItem * > | Items
typedef std::vector< std::string > | ItemNames
Protected Attributes inherited from OutputStream
SmartIF< IIncidentSvc > | m_incidentSvc
| Reference to the incident service.
bool | m_doPreLoad
| Flag indicating whether data pre-loading should be performed.
bool | m_doPreLoadOpt
| Flag indicating whether optional items should be preloaded.
bool | m_verifyItems
| Flag to indicate that item consistency should be checked.
std::string | m_storeName
| Name of the service managing the data store.
std::string | m_persName
| Name of the persistency service capable to write data from the store.
std::string | m_output
| Name of the output file specification.
std::string | m_outputName
| Name of the output file.
std::string | m_outputType
| Output type: NEW(NEW,CREATE,WRITE,RECREATE), UPDATE)
OutputStreamAgent * | m_agent
| Keep reference of agent.
SmartIF< IDataProviderSvc > | m_pDataProvider
| Keep reference to the data provider service.
SmartIF< IDataManagerSvc > | m_pDataManager
| Keep reference to the data manager service.
SmartIF< IConversionSvc > | m_pConversionSvc
| Keep reference to the data conversion service.
DataStoreItem * | m_currentItem
| Keep track of the current item.
ItemNames | m_itemNames
| Vector of item names.
Items | m_itemList
| Vector of items to be saved to this stream.
ItemNames | m_optItemNames
| Vector of item names.
Items | m_optItemList
| Vector of optional items to be saved to this stream.
IDataSelector | m_objects
| Collection of objects being selected.
int | m_events
| Number of events written to this output stream.
StringArrayProperty | m_acceptNames
| Vector of names of Algorithms that this stream accepts.
StringArrayProperty | m_requireNames
| Vector of names of Algorithms that this stream requires.
StringArrayProperty | m_vetoNames
| Vector of names of Algorithms that this stream is vetoed by.
std::vector< Algorithm * > * | m_acceptAlgs
| Vector of Algorithms that this stream accepts.
std::vector< Algorithm * > * | m_requireAlgs
| Vector of Algorithms that this stream requires.
std::vector< Algorithm * > * | m_vetoAlgs
| Vector of Algorithms that this stream is vetoed by.
bool | m_fireIncidents
| should I fire incidents for writing opening/closing etc?

## Detailed Description

Extension of OutputStream to copy the content of the main input file.

On top of the standard behavior of OutputStream, this class takes also all the entries that come from the same file as the root entry in the data service.

Author
  : M. Frank
  : P. Koppenburg
  : M. Clemencic

Definition at line 21 of file InputCopyStream.h.

## Constructor & Destructor Documentation

InputCopyStream::InputCopyStream | ( | const std::string & | name,
|  | ISvcLocator * | pSvcLocator
| ) |  |

Standard algorithm Constructor.

Definition at line 16 of file InputCopyStream.cpp.

: OutputStream ( name, pSvcLocator),
m_leavesTool ( NULL ),
m_tesVetoList ( )
{
m_doPreLoad = false;
m_doPreLoadOpt = false;
declareProperty( "TESVetoList", m_tesVetoList );
}

InputCopyStream::~InputCopyStream | ( |  | ) |
| virtual

Standard Destructor.

Definition at line 27 of file InputCopyStream.cpp.

{ }

## Member Function Documentation

StatusCode InputCopyStream::collectObjects | ( |  | ) |
| virtual

Collect all objects to be written to the output stream.

Reimplemented from OutputStream.

Definition at line 50 of file InputCopyStream.cpp.

{
// Get the objects in the same file as the root node
try
{
// Get all the leaves on the input stream
const IDataStoreLeaves::LeavesList & leaves = m_leavesTool->leaves();
// Do we need to veto anything ?
if ( UNLIKELY( !m_tesVetoList.empty() ) )
{
// Veto out locations
IDataStoreLeaves::LeavesList filteredLeaves;
filteredLeaves.reserve( leaves.size() );
for ( IDataStoreLeaves::LeavesList::const_iterator iL = leaves.begin();
iL != leaves.end(); ++iL )
{
if ( *iL && (*iL)->registry() )
{
if ( std::find( m_tesVetoList.begin(),
m_tesVetoList.end(),
(*iL)->registry()->identifier() ) == m_tesVetoList.end() )
{
filteredLeaves.push_back( (*iL) );
}
}
}
// saved the veto'ed list
m_objects.assign( filteredLeaves.begin(), filteredLeaves.end() );
}
else
{
// no veto'ing, so save everything
m_objects.assign( leaves.begin(), leaves.end() );
}
}
catch ( const GaudiException & e )
{
MsgStream log(msgSvc(), name());
log << MSG::ERROR << e.message() << endmsg;
return StatusCode::FAILURE;
}
// Collect the other objects from the transient store (mandatory and optional)
return OutputStream::collectObjects();
}

StatusCode InputCopyStream::finalize | ( |  | ) |
| virtual

Finalize the instance.

Reimplemented from OutputStream.

Definition at line 42 of file InputCopyStream.cpp.

{
toolSvc()->releaseTool(m_leavesTool).ignore();
m_leavesTool = NULL;
return OutputStream::finalize();
}

virtual bool InputCopyStream::hasInput | ( |  | ) | const
| inline protected virtual

Overridden from the base class (InputCopyStream has always input).

Reimplemented from OutputStream.

Definition at line 52 of file InputCopyStream.h.

{
return true;
}

StatusCode InputCopyStream::initialize | ( |  | ) |
| virtual

Initialize the instance.

Reimplemented from OutputStream.

Definition at line 30 of file InputCopyStream.cpp.

{
StatusCode sc = OutputStream::initialize();
if ( sc.isFailure() ) return sc;
sc = toolSvc()->retrieveTool("DataSvcFileEntriesTool", "InputCopyStreamTool",
m_leavesTool);
return sc;
}

## Member Data Documentation

IDataStoreLeaves* InputCopyStream::m_leavesTool
| private

Pointer to the (public) tool used to retrieve the objects in a file.

Definition at line 44 of file InputCopyStream.h.

std::vector<std::string> InputCopyStream::m_tesVetoList
| private

Names of TES locations to Veto.

Definition at line 47 of file InputCopyStream.h.

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

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v25r0/GaudiCommonSvc/src/PersistencySvc/InputCopyStream.h
- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v25r0/GaudiCommonSvc/src/PersistencySvc/InputCopyStream.cpp