![]() |
The Gaudi Framework
v26r0
|
Specialized output stream class for event tag collections, where the basic Event entry point should be placed as well into the collection itself. More...
#include <PersistencySvc/TagCollectionStream.h>
Public Member Functions | |
TagCollectionStream (const std::string &name, ISvcLocator *pSvcLocator) | |
Standard algorithm Constructor. More... | |
virtual | ~TagCollectionStream () |
Standard Destructor. More... | |
virtual StatusCode | initialize () |
Initialize TagCollectionStream. More... | |
virtual StatusCode | finalize () |
Terminate TagCollectionStream. More... | |
![]() | |
OutputStream (const std::string &name, ISvcLocator *pSvcLocator) | |
Standard algorithm Constructor. More... | |
virtual | ~OutputStream () |
Standard Destructor. More... | |
virtual StatusCode | execute () |
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 | clearItems (Items &itms) |
Clear item list. More... | |
void | addItem (Items &itms, const std::string &descriptor) |
Add item to output streamer list. More... | |
void | clearSelection () |
Clear list of selected objects. More... | |
IDataSelector * | selectedObjects () |
Return the list of selected objects. More... | |
![]() | |
Algorithm (const std::string &name, ISvcLocator *svcloc, const std::string &version=PACKAGE_VERSION) | |
Constructor. More... | |
virtual | ~Algorithm () |
Destructor. More... | |
virtual StatusCode | sysStart () |
Reinitialization method invoked by the framework. More... | |
virtual StatusCode | sysInitialize () |
Initialization method invoked by the framework. More... | |
virtual StatusCode | sysReinitialize () |
Reinitialization method invoked by the framework. More... | |
virtual StatusCode | sysRestart () |
Restart method invoked by the framework. More... | |
virtual StatusCode | sysExecute () |
The actions to be performed by the algorithm on an event. More... | |
virtual StatusCode | sysStop () |
System stop. More... | |
virtual StatusCode | sysFinalize () |
System finalization. More... | |
virtual StatusCode | sysBeginRun () |
beginRun method invoked by the framework. More... | |
virtual StatusCode | sysEndRun () |
endRun method invoked by the framework. More... | |
virtual const std::string & | name () const |
The identifying name of the algorithm object. More... | |
virtual const std::string & | version () const |
The version of the algorithm. More... | |
virtual StatusCode | configure () |
Dummy implementation of IStateful::configure() method. More... | |
virtual StatusCode | terminate () |
Dummy implementation of IStateful::terminate() method. More... | |
virtual StatusCode | start () |
the default (empty) implementation of IStateful::start() method More... | |
virtual StatusCode | stop () |
the default (empty) implementation of IStateful::stop() method More... | |
virtual StatusCode | reinitialize () |
the default (empty) implementation of IStateful::reinitialize() method More... | |
virtual StatusCode | restart () |
the default (empty) implementation of IStateful::restart() method More... | |
virtual bool | isExecuted () const |
Has this algorithm been executed since the last reset? More... | |
virtual void | setExecuted (bool state) |
Set the executed flag to the specified state. More... | |
virtual void | resetExecuted () |
Reset the executed state of the Algorithm for the duration of the current event. More... | |
virtual StatusCode | beginRun () |
Algorithm begin run. More... | |
virtual StatusCode | endRun () |
Algorithm end run. This method is called at the end of the event loop. More... | |
virtual Gaudi::StateMachine::State | FSMState () const |
returns the current state of the algorithm More... | |
virtual Gaudi::StateMachine::State | targetFSMState () const |
returns the state the algorithm will be in after the ongoing transition More... | |
virtual bool | isEnabled () const |
Is this algorithm enabled or disabled? More... | |
virtual bool | filterPassed () const |
Did this algorithm pass or fail its filter criterion for the last event? More... | |
virtual void | setFilterPassed (bool state) |
Set the filter passed flag to the specified state. 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... | |
void | setOutputLevel (int level) |
Set the output level for current algorithm. More... | |
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 |
Obsoleted name, kept due to the backwards compatibility. More... | |
SmartIF< IDataProviderSvc > & | detSvc () const |
The standard detector data service. More... | |
SmartIF< IDataProviderSvc > & | detDataService () const |
Obsoleted name, kept due to the backwards compatibility. More... | |
SmartIF< IConversionSvc > & | detCnvSvc () const |
The standard detector data persistency conversion service. More... | |
SmartIF< IConversionSvc > & | detDataCnvService () const |
Obsoleted name, kept due to the backwards compatibility. More... | |
SmartIF< IDataProviderSvc > & | eventSvc () const |
The standard event data service. More... | |
SmartIF< IDataProviderSvc > & | evtSvc () const |
shortcut for method eventSvc More... | |
SmartIF< IDataProviderSvc > & | eventDataService () const |
Obsoleted name, kept due to the backwards compatibility. More... | |
SmartIF< IConversionSvc > & | eventCnvSvc () const |
The standard event data persistency conversion service. More... | |
SmartIF< IConversionSvc > & | eventDataCnvService () const |
Obsoleted name, kept due to the backwards compatibility. More... | |
SmartIF< IHistogramSvc > & | histoSvc () const |
The standard histogram service. More... | |
SmartIF< IHistogramSvc > & | histogramDataService () const |
Obsoleted name, kept due to the backwards compatibility. More... | |
SmartIF< IMessageSvc > & | msgSvc () const |
The standard message service. More... | |
SmartIF< IMessageSvc > & | messageService () const |
Obsoleted name, kept due to the backwards compatibility. More... | |
SmartIF< INTupleSvc > & | ntupleSvc () const |
The standard N tuple service. More... | |
SmartIF< INTupleSvc > & | ntupleService () const |
Obsoleted name, kept due to the backwards compatibility. More... | |
SmartIF< IRndmGenSvc > & | randSvc () const |
AIDA-based NTuple service Returns a pointer to the AIDATuple 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< ISvcLocator > & | serviceLocator () const |
The standard service locator. More... | |
SmartIF< ISvcLocator > & | svcLoc () const |
shortcut for method serviceLocator More... | |
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... | |
std::vector< Algorithm * > * | subAlgorithms () const |
List of sub-algorithms. Returns a pointer to a vector of (sub) Algorithms. More... | |
virtual StatusCode | setProperty (const Property &p) |
Implementation of IProperty::setProperty. More... | |
virtual StatusCode | setProperty (const std::string &s) |
Implementation of IProperty::setProperty. More... | |
virtual StatusCode | setProperty (const std::string &n, const std::string &v) |
Implementation of IProperty::setProperty. More... | |
virtual StatusCode | getProperty (Property *p) const |
Implementation of IProperty::getProperty. More... | |
virtual const Property & | getProperty (const std::string &name) const |
Implementation of IProperty::getProperty. More... | |
virtual StatusCode | getProperty (const std::string &n, std::string &v) const |
Implementation of IProperty::getProperty. More... | |
virtual const std::vector < Property * > & | getProperties () const |
Implementation of IProperty::getProperties. More... | |
StatusCode | setProperties () |
Set the algorithm's properties. More... | |
template<class T > | |
Property * | declareProperty (const std::string &name, T &property, const std::string &doc="none") const |
Declare the named property. More... | |
Property * | declareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="") const |
Declare remote named properties. More... | |
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... | |
template<class TYPE > | |
StatusCode | setProperty (const std::string &name, const TYPE &value) |
set the property form the value More... | |
![]() | |
virtual | ~extend_interfaces3 () |
Virtual destructor. More... | |
![]() | |
DeclareInterfaceID (IAlgorithm, 4, 0) | |
InterfaceID. More... | |
![]() | |
DeclareInterfaceID (INamedInterface, 1, 0) | |
InterfaceID. More... | |
virtual | ~INamedInterface () |
Virtual destructor (always needed for abstract classes). More... | |
![]() | |
virtual void * | i_cast (const InterfaceID &) const =0 |
main cast function More... | |
virtual std::vector< std::string > | getInterfaceNames () const =0 |
Returns a vector of strings containing the names of all the implemented interfaces. More... | |
virtual unsigned long | addRef ()=0 |
Increment the reference count of Interface instance. More... | |
virtual unsigned long | release ()=0 |
Release Interface instance. More... | |
virtual unsigned long | refCount () const =0 |
Current reference count. More... | |
virtual StatusCode | queryInterface (const InterfaceID &ti, void **pp)=0 |
Set the void** to the pointer to the requested interface of the instance. More... | |
virtual | ~IInterface () |
Virtual destructor. More... | |
![]() | |
DeclareInterfaceID (IProperty, 2, 0) | |
InterfaceID. More... | |
![]() | |
DeclareInterfaceID (IStateful, 1, 0) | |
InterfaceID. More... | |
virtual | ~IStateful () |
Protected Member Functions | |
virtual StatusCode | writeObjects () |
OutputStream override: Select the different objects and write them to file. More... | |
virtual StatusCode | connectAddress () |
Connect address column, if not already connected. More... | |
StatusCode | writeData () |
Write data objects. More... | |
StatusCode | writeTuple () |
Write tuple data. More... | |
StatusCode | writeRecord () |
Write full event record. More... | |
![]() | |
StatusCode | decodeAcceptAlgs () |
Decode list of Algorithms that this stream accepts. More... | |
void | acceptAlgsHandler (Property &theProp) |
Handler for AcceptAlgs Property. More... | |
StatusCode | decodeRequireAlgs () |
Decode list of Algorithms that this stream requires. More... | |
void | requireAlgsHandler (Property &theProp) |
Handler for RequireAlgs Property. More... | |
StatusCode | decodeVetoAlgs () |
Decode list of Algorithms that this stream is vetoed by. More... | |
void | vetoAlgsHandler (Property &theProp) |
Handler for VetoAlgs Property. More... | |
Algorithm * | decodeAlgorithm (const std::string &theName) |
Decode a single algorithm name. More... | |
StatusCode | decodeAlgorithms (StringArrayProperty &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... | |
![]() | |
bool | isInitialized () const |
Has the Algorithm already been initialized? More... | |
bool | isFinalized () const |
Has the Algorithm already been finalized? More... | |
int | outputLevel () const |
retrieve the Algorithm output level More... | |
IntegerProperty & | outputLevelProperty () |
Accessor for the Message level property. More... | |
void | initOutputLevel (Property &prop) |
callback for output level property More... | |
Protected Attributes | |
std::string | m_addrLeaf |
Property: Name of the address leaf in the transient event store. More... | |
std::string | m_addrColName |
Property: Name of the address column of the tag collection. More... | |
std::string | m_tagName |
Property: Name of the tag collection in the transient store. More... | |
std::string | m_collSvcName |
Property: Name of the collection service. More... | |
bool | m_objectsFirst |
Property: Flag to indicate that the objects should be written first. More... | |
INTupleItem * | m_addrColumn |
NTuple column to hold the opaque address of the address leaf. More... | |
std::string | m_topLeafName |
Name of the top leaf (performance cache) More... | |
bool | m_isTopLeaf |
Short cut flag to indicate if the address leaf is the top leaf (performace cache) More... | |
INTupleSvc * | m_collectionSvc |
Keep reference to the tuple service. More... | |
GenericAddress * | m_addr |
Address buffer. More... | |
NTuple::Item< IOpaqueAddress * > | m_item |
Address item buffer. More... | |
![]() | |
SmartIF< IIncidentSvc > | m_incidentSvc |
Reference to the incident service. More... | |
bool | m_doPreLoad |
Flag indicating whether data pre-loading should be performed. More... | |
bool | m_doPreLoadOpt |
Flag indicating whether optional items should be preloaded. More... | |
bool | m_verifyItems |
Flag to indicate that item consistency should be checked. More... | |
std::string | m_storeName |
Name of the service managing the data store. More... | |
std::string | m_persName |
Name of the persistency service capable to write data from the store. More... | |
std::string | m_output |
Name of the output file specification. More... | |
std::string | m_outputName |
Name of the output file. More... | |
std::string | m_outputType |
Output type: NEW(NEW,CREATE,WRITE,RECREATE), UPDATE) More... | |
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... | |
ItemNames | m_itemNames |
Vector of item names. More... | |
Items | m_itemList |
Vector of items to be saved to this stream. More... | |
ItemNames | m_optItemNames |
Vector of item names. More... | |
Items | m_optItemList |
Vector of optional items to be saved to this stream. More... | |
AlgDependentItemNames | m_algDependentItemList |
Mapping between algorithm names, and a list of items for which, if the algorithm in question accepted the event, they should be also stored. 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... | |
StringArrayProperty | m_acceptNames |
Vector of names of Algorithms that this stream accepts. More... | |
StringArrayProperty | m_requireNames |
Vector of names of Algorithms that this stream requires. More... | |
StringArrayProperty | m_vetoNames |
Vector of names of Algorithms that this stream is vetoed by. 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... | |
bool | m_fireIncidents |
should I fire incidents for writing opening/closing etc? More... | |
Additional Inherited Members | |
![]() | |
typedef std::vector < DataStoreItem * > | Items |
typedef std::vector< std::string > | ItemNames |
typedef std::map< Algorithm *, Items > | AlgDependentItems |
typedef std::map< std::string, ItemNames > | AlgDependentItemNames |
![]() | |
typedef Gaudi::PluginService::Factory < IAlgorithm *, const std::string &, ISvcLocator * > | Factory |
![]() | |
typedef implements3 | base_class |
Typedef to this class. More... | |
typedef extend_interfaces3 < IAlgorithm, IProperty, IStateful > | extend_interfaces_base |
Typedef to the base of this class. More... | |
typedef extend_interfaces_base::ext_iids | interfaces |
MPL set of all the implemented interfaces. More... | |
![]() | |
typedef mpl::fold< typename IAlgorithm::iid::iids::type, typename mpl::fold< typename IProperty::iid::iids::type, typename IStateful::iid::iids::type, mpl::insert< mpl::_1, mpl::_2 > >::type, mpl::insert< mpl::_1, mpl::_2 > >::type | ext_iids |
MPL set of interfaces extended by this one. More... | |
![]() | |
enum | Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR } |
Return status. More... | |
typedef Gaudi::InterfaceId < IInterface, 0, 0 > | iid |
Interface ID. More... | |
typedef mpl::set1< iid > | ext_iids |
Extra interfaces. More... | |
![]() | |
static const InterfaceID & | interfaceID () |
Return an instance of InterfaceID identifying the interface. More... | |
Specialized output stream class for event tag collections, where the basic Event entry point should be placed as well into the collection itself.
The TagCollectionStream is a rather specialized object combining features of NTuple I/O and object I/O. The main working points are:
1) Write a "normal" tag collection. The address column [property AddressColumn, default:"Address"] is added to the Ntuple identified by its name [mandatory property Collection]. The address column is set to the opaque address of the specified leaf [property "AddressLeaf", default:"/Event"]. The NTuple must be registered to the TES of the service [property: TagCollectionSvc, default:"NTupleSvc"]. This is the normal mode event tag collections work.
2) Write a tag collection with "REDIRECTED INPUT". Example: The collection is created from an intermediate file (MINI DST), but the Address column of the NTuple should point to the file e.g. containing the raw data.
Note: The actual address of "/Event" get changed. No other output should be created after writing such a tag collection.
3) Write an "EMBEDDED COLLECTION". In this mode the OutputStream and the NTuple stream are combined. depending on the property TagCollectionStream.ObjectsFirst the objects are written first and the the tags. The tag file and the file containing the objects may be identical.
Note:
Author: M.Frank Version: 1.0
Definition at line 63 of file TagCollectionStream.h.
TagCollectionStream::TagCollectionStream | ( | const std::string & | name, |
ISvcLocator * | pSvcLocator | ||
) |
Standard algorithm Constructor.
Definition at line 18 of file TagCollectionStream.cpp.
|
virtual |
Standard Destructor.
Definition at line 31 of file TagCollectionStream.cpp.
|
protectedvirtual |
Connect address column, if not already connected.
Definition at line 36 of file TagCollectionStream.cpp.
|
virtual |
Terminate TagCollectionStream.
Reimplemented from OutputStream.
Definition at line 114 of file TagCollectionStream.cpp.
|
virtual |
Initialize TagCollectionStream.
Reimplemented from OutputStream.
Definition at line 60 of file TagCollectionStream.cpp.
|
protected |
Write data objects.
Definition at line 135 of file TagCollectionStream.cpp.
|
protectedvirtual |
OutputStream override: Select the different objects and write them to file.
Reimplemented from OutputStream.
Definition at line 154 of file TagCollectionStream.cpp.
|
protected |
Write full event record.
Definition at line 146 of file TagCollectionStream.cpp.
|
protected |
Write tuple data.
Definition at line 124 of file TagCollectionStream.cpp.
|
protected |
Address buffer.
Definition at line 85 of file TagCollectionStream.h.
|
protected |
Property: Name of the address column of the tag collection.
Definition at line 69 of file TagCollectionStream.h.
|
protected |
NTuple column to hold the opaque address of the address leaf.
Definition at line 77 of file TagCollectionStream.h.
|
protected |
Property: Name of the address leaf in the transient event store.
Definition at line 67 of file TagCollectionStream.h.
|
protected |
Keep reference to the tuple service.
Definition at line 83 of file TagCollectionStream.h.
|
protected |
Property: Name of the collection service.
Definition at line 73 of file TagCollectionStream.h.
|
protected |
Short cut flag to indicate if the address leaf is the top leaf (performace cache)
Definition at line 81 of file TagCollectionStream.h.
|
protected |
Address item buffer.
Definition at line 87 of file TagCollectionStream.h.
|
protected |
Property: Flag to indicate that the objects should be written first.
Definition at line 75 of file TagCollectionStream.h.
|
protected |
Property: Name of the tag collection in the transient store.
Definition at line 71 of file TagCollectionStream.h.
|
protected |
Name of the top leaf (performance cache)
Definition at line 79 of file TagCollectionStream.h.