![]() |
ATLAS Offline Software
|
A ByteStreamCnvSvc implementation for online use. More...
#include <TrigByteStreamCnvSvc.h>
Public Types | |
typedef std::unordered_map< CLID, WorkerEntry > | Workers |
Public Member Functions | |
TrigByteStreamCnvSvc (const std::string &name, ISvcLocator *svcLoc) | |
Standard constructor. More... | |
virtual | ~TrigByteStreamCnvSvc () |
Standard destructor. More... | |
virtual StatusCode | initialize () override |
Required of all Gaudi Services. More... | |
virtual StatusCode | finalize () override |
virtual StatusCode | connectOutput (const std::string &outputFile) override |
In the case of online BS data, this method creates the output FullEventFragment and fills its header. More... | |
StatusCode | connectOutput (const std::string &outputFile, const EventContext &eventContext) |
In the case of online BS data, this method creates the output FullEventFragment and fills its header. More... | |
virtual StatusCode | connectOutput (const std::string &outputFile, const std::string &openMode) override |
This overload is kept only for interface compatibility. More... | |
virtual StatusCode | commitOutput (const std::string &outputFile, bool do_commit) override |
In the case of online BS data, this method binds and sends out the output FullEventFragment. More... | |
StatusCode | commitOutput (const std::string &outputFile, bool do_commit, const EventContext &eventContext) |
In the case of online BS data, this method binds and sends out the output FullEventFragment. More... | |
virtual RawEventWrite * | getRawEvent () override |
Return a pointer to the raw event for the current event context. More... | |
RawEventWrite * | getRawEvent (const EventContext &eventContext) const |
Return a pointer to the raw event for the given event context. More... | |
virtual StatusCode | queryInterface (const InterfaceID &riid, void **ppvInterface) override |
Required of all Gaudi services: see Gaudi documentation for details. More... | |
virtual StatusCode | updateServiceState (IOpaqueAddress *pAddress) override |
Checks whether an IOpaqueAddress is a GenericAddress. More... | |
virtual void | handle (const Incident &) override |
Implementation of IIncidentListener: Handle for EndEvent incidence. More... | |
MsgStream & | msg () const |
MsgStream & | msg (const MSG::Level lvl) const |
bool | msgLvl (const MSG::Level lvl) const |
Static Public Member Functions | |
static const InterfaceID & | interfaceID () |
Gaudi interface id. More... | |
Protected Attributes | |
std::vector< std::string > | m_initCnvs |
Gaudi::Property< std::vector< std::string > > | m_ROD2ROBmap {this,"ROD2ROBmap",{},"","OrderedSet<std::string>"} |
Private Member Functions | |
RawEventWrite * | setRawEvent (std::unique_ptr< RawEventWrite > &&rawEventWrite, const EventContext &eventContext) |
Store new raw event in the cache. More... | |
void | clearRawEvent (const EventContext &eventContext) |
Delete raw event from the cache. More... | |
void | printRawEvent (const EventContext &eventContext) const |
Print contents of the raw event. More... | |
void | monitorRawEvent (const std::unique_ptr< uint32_t[]> &rawEventPtr) const |
Fill histograms from contents of a FullEventFragment. More... | |
const EventContext * | currentContext () const |
Hack used in HLT to avoid using ThreadLocalContext, see explanation in the implementation. More... | |
Private Attributes | |
ServiceHandle< StoreGateSvc > | m_evtStore {this, "EventStore", "StoreGateSvc"} |
ServiceHandle< IROBDataProviderSvc > | m_robDataProviderSvc {this, "ROBDataProvider", "ROBDataProviderSvc"} |
ToolHandle< GenericMonitoringTool > | m_monTool {this, "MonTool", "" , "Monitoring tool"} |
SG::SlotSpecificObj< std::unique_ptr< RawEventWrite > > | m_rawEventWriteCache |
Flags which are not used by this service. | |
It only serves as an entity storing these values and some other components read it from here. TODO: Remove this solution and move the properties where they are needed. | |
Gaudi::Property< bool > | m_isSimulation {this, "IsSimulation", false} |
Gaudi::Property< bool > | m_isTestbeam {this, "IsTestbeam", false} |
flags for TestBeam EventType More... | |
Gaudi::Property< bool > | m_isCalibration {this, "IsCalibration", false} |
flags for Calibration EventType More... | |
Flags which are not used by this service. | |
It only serves as an entity storing these values and some other components read it from here. TODO: Remove this solution and move the properties where they are needed. | |
Gaudi::Property< bool > | m_isSimulation {this, "IsSimulation", false} |
Gaudi::Property< bool > | m_isTestbeam {this, "IsTestbeam", false} |
flags for TestBeam EventType More... | |
Gaudi::Property< bool > | m_isCalibration {this, "IsCalibration", false} |
flags for Calibration EventType More... | |
Flags which are not used by this service. | |
It only serves as an entity storing these values and some other components read it from here. TODO: Remove this solution and move the properties where they are needed. | |
Gaudi::Property< bool > | m_isSimulation {this, "IsSimulation", false} |
Gaudi::Property< bool > | m_isTestbeam {this, "IsTestbeam", false} |
flags for TestBeam EventType More... | |
Gaudi::Property< bool > | m_isCalibration {this, "IsCalibration", false} |
flags for Calibration EventType More... | |
@c IConversionSvc implementation | |
virtual long | repSvcType () const |
Retrieve the class type of the data store the converter uses. More... | |
const CLID & | objType () const |
Implementation of IConverter: dummy call. More... | |
virtual StatusCode | setDataProvider (IDataProviderSvc *pService) |
Implementation of IConverter: Set Data provider service. More... | |
virtual SmartIF< IDataProviderSvc > & | dataProvider () const |
Implementation of IConverter: Get Data provider service. More... | |
virtual StatusCode | setConversionSvc (IConversionSvc *svc) |
Implementation of IConverter: Set conversion service the converter is connected to. More... | |
virtual SmartIF< IConversionSvc > & | conversionSvc () const |
Implementation of IConverter: Get conversion service the converter is connected to. More... | |
virtual StatusCode | setAddressCreator (IAddressCreator *creator) |
Set address creator facility. More... | |
virtual SmartIF< IAddressCreator > & | addressCreator () const |
Retrieve address creator facility. More... | |
virtual StatusCode | createObj (IOpaqueAddress *pAddress, DataObject *&refpObject) |
Implementation of IConverter: Create the transient representation of an object. More... | |
virtual StatusCode | fillObjRefs (IOpaqueAddress *pAddress, DataObject *pObject) |
Implementation of IConverter: Resolve the references of the created transient object. More... | |
virtual StatusCode | updateObj (IOpaqueAddress *pAddress, DataObject *refpObject) |
Implementation of IConverter: Update the transient object from the other representation. More... | |
virtual StatusCode | updateObjRefs (IOpaqueAddress *pAddress, DataObject *pObject) |
Implementation of IConverter: Update the references of an updated transient object. More... | |
virtual StatusCode | createRep (DataObject *pObject, IOpaqueAddress *&refpAddress) |
Implementation of IConverter: Convert the transient object to the requested representation. More... | |
virtual StatusCode | fillRepRefs (IOpaqueAddress *pAddress, DataObject *pObject) |
Implementation of IConverter: Resolve the references of the converted object. More... | |
virtual StatusCode | updateRep (IOpaqueAddress *pAddress, DataObject *pObject) |
Implementation of IConverter: Update the converted representation of a transient object. More... | |
virtual StatusCode | updateRepRefs (IOpaqueAddress *pAddress, DataObject *pObject) |
Implementation of IConverter: Update the references of an already converted object. More... | |
virtual StatusCode | addConverter (const CLID &clid) |
Add converter object to conversion service. More... | |
virtual StatusCode | addConverter (IConverter *pConverter) |
Add converter object to conversion service. More... | |
virtual StatusCode | removeConverter (const CLID &clid) |
Remove converter object from conversion service (if present). More... | |
virtual IConverter * | converter (const CLID &wanted) |
Retrieve converter from list. More... | |
virtual StatusCode | disconnectOutput (const std::string &output) |
Disconnect output files from the service. More... | |
@c IAddressCreator interface implementation | |
virtual StatusCode | createAddress (long svc_type, const CLID &clid, const std::string *par, const unsigned long *ip, IOpaqueAddress *&refpAddress) |
Create a Generic address using explicit arguments to identify a single object. More... | |
virtual StatusCode | createAddress (long svc_type, const CLID &clid, const std::string &refAddress, IOpaqueAddress *&refpAddress) |
Convert an address in string form to object form. More... | |
virtual StatusCode | convertAddress (const IOpaqueAddress *pAddress, std::string &refAddress) |
Convert an address to string form. More... | |
SmartIF< IDataProviderSvc > | m_dataSvc |
Pointer to data provider service. More... | |
SmartIF< IAddressCreator > | m_addressCreator |
Pointer to the address creation service interface. More... | |
SmartIF< IConversionSvc > | m_cnvSvc |
Pointer to the IConversionSvc interface of this. More... | |
long | m_type |
Conversion service type. More... | |
Workers | m_workers |
List of conversion workers. More... | |
CallMutex | m_conv_mut |
typedef std::recursive_mutex | CallMutex |
Mutex to protect Converter creation. More... | |
virtual SmartIF< IAddressCreator > & | addressCreator () |
Retrieve address creation interface. More... | |
virtual IConverter * | createConverter (long typ, const CLID &clid, const ICnvFactory *fac) |
Create new Converter using factory. More... | |
virtual StatusCode | configureConverter (long typ, const CLID &clid, IConverter *cnv) |
Configure the new converter before initialize is called. More... | |
virtual StatusCode | initializeConverter (long typ, const CLID &clid, IConverter *cnv) |
Initialize the new converter. More... | |
virtual StatusCode | activateConverter (long typ, const CLID &clid, IConverter *cnv) |
Activate the new converter after initialization. More... | |
virtual void | loadConverter (DataObject *pObject) |
Load converter or dictionary needed by the converter. More... | |
StatusCode | makeCall (int typ, bool ignore_add, bool ignore_obj, bool update, IOpaqueAddress *&pAddress, DataObject *&pObject) |
A ByteStreamCnvSvc implementation for online use.
It overrides the connectOutput and commitOutput methods of the base class. In this implementation, they create the specific online HLT output and send it out directly to the TDAQ infrastructure without using an output service.
Definition at line 22 of file TrigByteStreamCnvSvc.h.
|
protectedinherited |
Mutex to protect Converter creation.
Definition at line 323 of file AthCnvSvc.h.
|
inherited |
Definition at line 106 of file AthCnvSvc.h.
TrigByteStreamCnvSvc::TrigByteStreamCnvSvc | ( | const std::string & | name, |
ISvcLocator * | svcLoc | ||
) |
|
virtual |
|
protectedvirtualinherited |
Activate the new converter after initialization.
Definition at line 536 of file AthCnvSvc.cxx.
|
virtualinherited |
|
inlineprotectedvirtualinherited |
Retrieve address creation interface.
Definition at line 300 of file AthCnvSvc.h.
|
virtualinherited |
|
private |
Delete raw event from the cache.
Definition at line 261 of file TrigByteStreamCnvSvc.cxx.
|
overridevirtual |
In the case of online BS data, this method binds and sends out the output FullEventFragment.
Reimplemented from AthCnvSvc.
Definition at line 163 of file TrigByteStreamCnvSvc.cxx.
StatusCode TrigByteStreamCnvSvc::commitOutput | ( | const std::string & | outputFile, |
bool | do_commit, | ||
const EventContext & | eventContext | ||
) |
In the case of online BS data, this method binds and sends out the output FullEventFragment.
Definition at line 169 of file TrigByteStreamCnvSvc.cxx.
|
protectedvirtualinherited |
Configure the new converter before initialize is called.
Definition at line 510 of file AthCnvSvc.cxx.
|
overridevirtual |
In the case of online BS data, this method creates the output FullEventFragment and fills its header.
Reimplemented from AthCnvSvc.
Definition at line 125 of file TrigByteStreamCnvSvc.cxx.
StatusCode TrigByteStreamCnvSvc::connectOutput | ( | const std::string & | outputFile, |
const EventContext & | eventContext | ||
) |
In the case of online BS data, this method creates the output FullEventFragment and fills its header.
Definition at line 131 of file TrigByteStreamCnvSvc.cxx.
|
overridevirtual |
This overload is kept only for interface compatibility.
Reimplemented from AthCnvSvc.
Definition at line 154 of file TrigByteStreamCnvSvc.cxx.
|
virtualinherited |
Implementation of IConverter: Get conversion service the converter is connected to.
Definition at line 232 of file AthCnvSvc.cxx.
|
virtualinherited |
Convert an address to string form.
Reimplemented in AthenaPoolCnvSvc, Athena::NtupleCnvSvc, Athena::xAODCnvSvc, and Athena::RootCnvSvc.
Definition at line 459 of file AthCnvSvc.cxx.
|
virtualinherited |
Convert an address in string form to object form.
Reimplemented in Athena::NtupleCnvSvc, Athena::xAODCnvSvc, AthenaPoolCnvSvc, and Athena::RootCnvSvc.
Definition at line 468 of file AthCnvSvc.cxx.
|
virtualinherited |
Create a Generic address using explicit arguments to identify a single object.
Reimplemented in Athena::NtupleCnvSvc, Athena::xAODCnvSvc, AthenaPoolCnvSvc, and Athena::RootCnvSvc.
Definition at line 447 of file AthCnvSvc.cxx.
|
protectedvirtualinherited |
Create new Converter using factory.
Reimplemented in Athena::NtupleCnvSvc, Athena::xAODCnvSvc, and Athena::RootCnvSvc.
Definition at line 491 of file AthCnvSvc.cxx.
|
virtualinherited |
Implementation of IConverter: Create the transient representation of an object.
Reimplemented in Athena::NtupleCnvSvc, Athena::xAODCnvSvc, and AthenaPoolCnvSvc.
Definition at line 273 of file AthCnvSvc.cxx.
|
virtualinherited |
Implementation of IConverter: Convert the transient object to the requested representation.
Reimplemented in Athena::NtupleCnvSvc, Athena::xAODCnvSvc, and AthenaPoolCnvSvc.
Definition at line 305 of file AthCnvSvc.cxx.
|
private |
Hack used in HLT to avoid using ThreadLocalContext, see explanation in the implementation.
Definition at line 230 of file TrigByteStreamCnvSvc.cxx.
|
virtualinherited |
Implementation of IConverter: Get Data provider service.
Definition at line 212 of file AthCnvSvc.cxx.
|
virtualinherited |
Disconnect output files from the service.
Reimplemented in AthenaPoolCnvSvc.
Definition at line 437 of file AthCnvSvc.cxx.
|
virtualinherited |
Implementation of IConverter: Resolve the references of the created transient object.
Definition at line 281 of file AthCnvSvc.cxx.
|
virtualinherited |
Implementation of IConverter: Resolve the references of the converted object.
Reimplemented in Athena::NtupleCnvSvc, Athena::xAODCnvSvc, and AthenaPoolCnvSvc.
Definition at line 313 of file AthCnvSvc.cxx.
|
overridevirtual |
|
overridevirtual |
Return a pointer to the raw event for the current event context.
Implements IByteStreamEventAccess.
Definition at line 243 of file TrigByteStreamCnvSvc.cxx.
RawEventWrite * TrigByteStreamCnvSvc::getRawEvent | ( | const EventContext & | eventContext | ) | const |
Return a pointer to the raw event for the given event context.
Definition at line 250 of file TrigByteStreamCnvSvc.cxx.
|
overridevirtualinherited |
Implementation of IIncidentListener: Handle for EndEvent incidence.
Definition at line 63 of file ByteStreamCnvSvcBase.cxx.
|
overridevirtual |
Required of all Gaudi Services.
Initialize the service.
Reimplemented from ByteStreamCnvSvcBase.
Definition at line 97 of file TrigByteStreamCnvSvc.cxx.
|
protectedvirtualinherited |
Initialize the new converter.
Definition at line 525 of file AthCnvSvc.cxx.
|
inlinestaticinherited |
Gaudi interface id.
Definition at line 20 of file IByteStreamEventAccess.h.
|
protectedvirtualinherited |
Load converter or dictionary needed by the converter.
Definition at line 547 of file AthCnvSvc.cxx.
|
protectedinherited |
Definition at line 553 of file AthCnvSvc.cxx.
|
private |
Fill histograms from contents of a FullEventFragment.
Definition at line 266 of file TrigByteStreamCnvSvc.cxx.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 27 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
Implementation of IConverter: dummy call.
Definition at line 179 of file AthCnvSvc.cxx.
|
private |
Print contents of the raw event.
Definition at line 390 of file TrigByteStreamCnvSvc.cxx.
|
overridevirtualinherited |
Required of all Gaudi services: see Gaudi documentation for details.
Reimplemented from AthCnvSvc.
Reimplemented in ByteStreamCnvSvc.
Definition at line 42 of file ByteStreamCnvSvcBase.cxx.
Remove converter object from conversion service (if present).
Definition at line 379 of file AthCnvSvc.cxx.
|
virtualinherited |
Retrieve the class type of the data store the converter uses.
Definition at line 172 of file AthCnvSvc.cxx.
|
virtualinherited |
|
virtualinherited |
Implementation of IConverter: Set conversion service the converter is connected to.
Definition at line 224 of file AthCnvSvc.cxx.
|
virtualinherited |
Implementation of IConverter: Set Data provider service.
pService | Pointer to data provider service |
Definition at line 189 of file AthCnvSvc.cxx.
|
private |
|
virtualinherited |
Implementation of IConverter: Update the transient object from the other representation.
Definition at line 289 of file AthCnvSvc.cxx.
|
virtualinherited |
Implementation of IConverter: Update the references of an updated transient object.
Definition at line 297 of file AthCnvSvc.cxx.
|
virtualinherited |
Implementation of IConverter: Update the converted representation of a transient object.
Definition at line 321 of file AthCnvSvc.cxx.
|
virtualinherited |
Implementation of IConverter: Update the references of an already converted object.
Definition at line 329 of file AthCnvSvc.cxx.
|
overridevirtualinherited |
Checks whether an IOpaqueAddress is a GenericAddress.
Reimplemented from AthCnvSvc.
Definition at line 53 of file ByteStreamCnvSvcBase.cxx.
|
protectedinherited |
Pointer to the address creation service interface.
Definition at line 315 of file AthCnvSvc.h.
|
protectedinherited |
Pointer to the IConversionSvc interface of this.
Definition at line 317 of file AthCnvSvc.h.
|
protectedinherited |
Definition at line 324 of file AthCnvSvc.h.
|
protectedinherited |
Pointer to data provider service.
Definition at line 313 of file AthCnvSvc.h.
|
private |
Definition at line 65 of file TrigByteStreamCnvSvc.h.
|
protectedinherited |
Definition at line 40 of file ByteStreamCnvSvcBase.h.
|
privateinherited |
flags for Calibration EventType
Definition at line 55 of file ByteStreamCnvSvcBase.h.
|
privateinherited |
flags for Simulation EventType
Definition at line 51 of file ByteStreamCnvSvcBase.h.
|
privateinherited |
flags for TestBeam EventType
Definition at line 53 of file ByteStreamCnvSvcBase.h.
|
private |
Definition at line 67 of file TrigByteStreamCnvSvc.h.
|
private |
Definition at line 70 of file TrigByteStreamCnvSvc.h.
|
private |
Definition at line 66 of file TrigByteStreamCnvSvc.h.
|
protectedinherited |
Definition at line 42 of file ByteStreamCnvSvcBase.h.
|
protectedinherited |
Conversion service type.
Definition at line 319 of file AthCnvSvc.h.
|
protectedinherited |
List of conversion workers.
Definition at line 321 of file AthCnvSvc.h.