![]() |
ATLAS Offline Software
|
a data handle for writing systematics varied input data More...
#include <SysWriteHandle.h>
Classes | |
| struct | SysData |
| the data held per-systematic (filled in initialize) More... | |
Public Member Functions | |
| template<typename T2> | |
| SysWriteHandle (T2 *owner, const std::string &propertyName, const std::string &propertyValue, const std::string &propertyDescription) | |
| Standard constructor. | |
| template<typename T2> | |
| SysWriteHandle (const std::string &outputName, T2 *owner) | |
| Direct constructor which doesn't declare a property. | |
| virtual bool | empty () const noexcept override |
| whether we have a name configured | |
| operator bool () const noexcept | |
| !empty() | |
| virtual std::string | getNamePattern () const override |
| get the name pattern before substitution | |
| const std::string & | getName (const CP::SystematicSet &sys) const |
| get the name we record to the event store | |
| template<typename X = Aux, typename = std::enable_if_t<std::is_same_v<X,void>>> | |
| ::StatusCode | record (std::unique_ptr< T > object, const CP::SystematicSet &sys, const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| record the object for the given systematic | |
| template<typename X = Aux, typename = std::enable_if_t<!std::is_same_v<X,void>>> | |
| ::StatusCode | record (std::unique_ptr< T > object, std::unique_ptr< Aux > aux, const CP::SystematicSet &sys, const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| record the object and aux store for the given systematic | |
| bool | msgLvl (const MSG::Level lvl) const |
| Test the output level of the object. | |
| MsgStream & | msg () const |
| The standard message stream. | |
| MsgStream & | msg (const MSG::Level lvl) const |
| The standard message stream. | |
| StatusCode | initialize (SysListHandle &sysListHandle) |
| initialize this handle | |
| StatusCode | initialize (SysListHandle &sysListHandle, SG::AllowEmptyEnum) |
Private Member Functions | |
| virtual CP::SystematicSet | getInputAffecting (const ISystematicsSvc &svc) const override |
| virtual StatusCode | fillSystematics (const ISystematicsSvc &svc, const CP::SystematicSet &fullAffecting, const std::vector< CP::SystematicSet > &sysList) override |
| register and cache the systematics | |
| virtual StatusCode | addDecorationDependency (const ISystematicsSvc &svc, const std::string &decoName, bool decoWrite) override |
| add dependency information for the given decoration | |
| const SG::WriteHandleKey< T > & | getWriteHandle (const CP::SystematicSet &sys) const |
| get the write handle key for the given systematic | |
Private Attributes | |
| std::string | m_outputName |
| the output name we use | |
| std::string | m_outputType |
| the explicit list of type names for output dependencies | |
| std::unordered_map< CP::SystematicSet, SysData > | m_sysData |
| std::function< void(const DataObjID &, Gaudi::DataHandle::Mode)> | m_addAlgDependency |
| a function to add a data dependency to the parent algorithm | |
| std::function< MsgStream &()> | m_msg |
| the message stream we use | |
a data handle for writing systematics varied input data
Definition at line 32 of file SysWriteHandle.h.
| CP::SysWriteHandle< T, Aux >::SysWriteHandle | ( | T2 * | owner, |
| const std::string & | propertyName, | ||
| const std::string & | propertyValue, | ||
| const std::string & | propertyDescription ) |
Standard constructor.
| owner | Used to declare the property and for its messaging |
| propertyName | The name of the property to declare |
| propertyValue | The default value for the property |
| propertyDescription | The description of the property |
This version of the constructor declares a property on the parent object and should usually be preferred when the container to be written should be configurable
| CP::SysWriteHandle< T, Aux >::SysWriteHandle | ( | const std::string & | outputName, |
| T2 * | owner ) |
Direct constructor which doesn't declare a property.
|
overrideprivatevirtual |
add dependency information for the given decoration
Implements CP::ISysObjectHandleBase.
|
overridevirtualnoexcept |
whether we have a name configured
Implements CP::ISysHandleBase.
|
overrideprivatevirtual |
register and cache the systematics
Implements CP::ISysHandleBase.
|
overrideprivatevirtual |
Implements CP::ISysHandleBase.
| const std::string & CP::SysWriteHandle< T, Aux >::getName | ( | const CP::SystematicSet & | sys | ) | const |
get the name we record to the event store
|
overridevirtual |
get the name pattern before substitution
Implements CP::ISysObjectHandleBase.
|
private |
get the write handle key for the given systematic
| StatusCode CP::SysWriteHandle< T, Aux >::initialize | ( | SysListHandle & | sysListHandle | ) |
initialize this handle
| StatusCode CP::SysWriteHandle< T, Aux >::initialize | ( | SysListHandle & | sysListHandle, |
| SG::AllowEmptyEnum | ) |
|
inherited |
The standard message stream.
Definition at line 24 of file AsgMessagingForward.cxx.
|
inherited |
The standard message stream.
| lvl | The message level to set the stream to |
Definition at line 29 of file AsgMessagingForward.cxx.
Test the output level of the object.
| lvl | The message level to test against |
true If messages at level "lvl" will be printed Definition at line 11 of file AsgMessagingForward.cxx.
|
explicitnoexcept |
!empty()
| ::StatusCode CP::SysWriteHandle< T, Aux >::record | ( | std::unique_ptr< T > | object, |
| const CP::SystematicSet & | sys, | ||
| const EventContext & | ctx = Gaudi::Hive::currentContext() ) const |
record the object for the given systematic
| ::StatusCode CP::SysWriteHandle< T, Aux >::record | ( | std::unique_ptr< T > | object, |
| std::unique_ptr< Aux > | aux, | ||
| const CP::SystematicSet & | sys, | ||
| const EventContext & | ctx = Gaudi::Hive::currentContext() ) const |
record the object and aux store for the given systematic
|
private |
a function to add a data dependency to the parent algorithm
This wraps the owner's addDependency call and is used by addDecorationDependency to register MT dependencies.
Definition at line 137 of file SysWriteHandle.h.
|
privateinherited |
the message stream we use
This used to be a simple pointer to the MsgStream itself, but in AthenaMT the actual object used is local to the thread. So instead of pointing to it directly we are now using a function to look it up, which will get the thread-local object.
Definition at line 77 of file AsgMessagingForward.h.
|
private |
|
private |
the explicit list of type names for output dependencies
Definition at line 118 of file SysWriteHandle.h.
|
private |
Definition at line 126 of file SysWriteHandle.h.