![]() |
ATLAS Offline Software
|
a data handle for reading systematics varied input data More...
#include <SysReadDecorHandle.h>
Public Member Functions | |
| template<typename T2> | |
| SysReadDecorHandle (T2 *owner, const std::string &propertyName, const std::string &propertyValue, const std::string &propertyDescription) | |
| Standard constructor. | |
| template<typename T2> | |
| SysReadDecorHandle (const std::string &decorName, T2 *owner) | |
| Construct the handle directly without declaring a property. | |
| virtual bool | empty () const noexcept override |
| whether we have a name configured | |
| operator bool () const noexcept | |
| !empty() | |
| const std::string & | getName (const CP::SystematicSet &sys) const |
| get the name we retrieve from the event store | |
| const T & | get (const SG::AuxElement &object, const CP::SystematicSet &sys) const |
| retrieve the object decoration 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, ISysObjectHandleBase &objectHandle) |
| initialize this handle | |
| StatusCode | initialize (SysListHandle &sysListHandle, ISysObjectHandleBase &objectHandle, SG::AllowEmptyEnum) |
Private Member Functions | |
| virtual CP::SystematicSet | getInputAffecting (const ISystematicsSvc &svc) const override |
| get the affecting systematics if this is an input handle | |
| virtual StatusCode | fillSystematics (const ISystematicsSvc &svc, const CP::SystematicSet &fullAffecting, const std::vector< CP::SystematicSet > &sysList) override |
| register and cache the systematics | |
| const auto & | getData (const CP::SystematicSet &sys) const |
| get the data for the given systematics | |
Private Attributes | |
| std::string | m_decorName |
| the input name we use | |
| ISysObjectHandleBase * | m_objectHandle {nullptr} |
| the object handle we use | |
| std::unordered_map< CP::SystematicSet, std::tuple< std::string, SG::ConstAccessor< T > > > | m_dataCache |
| the cache of names we use | |
| std::function< MsgStream &()> | m_msg |
| the message stream we use | |
a data handle for reading systematics varied input data
Definition at line 32 of file SysReadDecorHandle.h.
| CP::SysReadDecorHandle< T >::SysReadDecorHandle | ( | T2 * | owner, |
| const std::string & | propertyName, | ||
| const std::string & | propertyValue, | ||
| const std::string & | propertyDescription ) |
Standard constructor.
| T2 | The type of the owner |
| 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 decoration to be read should be configurable
| CP::SysReadDecorHandle< T >::SysReadDecorHandle | ( | const std::string & | decorName, |
| T2 * | owner ) |
Construct the handle directly without declaring a property.
|
overridevirtualnoexcept |
whether we have a name configured
Implements CP::ISysHandleBase.
|
overrideprivatevirtual |
register and cache the systematics
Implements CP::ISysHandleBase.
| const T & CP::SysReadDecorHandle< T >::get | ( | const SG::AuxElement & | object, |
| const CP::SystematicSet & | sys ) const |
retrieve the object decoration for the given systematic
|
private |
get the data for the given systematics
|
overrideprivatevirtual |
get the affecting systematics if this is an input handle
This returns the empty set if this is either not an input handle, or if the input handle is not affected by systematics.
Implements CP::ISysHandleBase.
| const std::string & CP::SysReadDecorHandle< T >::getName | ( | const CP::SystematicSet & | sys | ) | const |
get the name we retrieve from the event store
| StatusCode CP::SysReadDecorHandle< T >::initialize | ( | SysListHandle & | sysListHandle, |
| ISysObjectHandleBase & | objectHandle ) |
initialize this handle
| StatusCode CP::SysReadDecorHandle< T >::initialize | ( | SysListHandle & | sysListHandle, |
| ISysObjectHandleBase & | objectHandle, | ||
| 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()
|
private |
the cache of names we use
Definition at line 119 of file SysReadDecorHandle.h.
|
private |
the input name we use
Definition at line 111 of file SysReadDecorHandle.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 |