![]() |
ATLAS Offline Software
|
a data handle for reading systematics varied input data More...
#include <SysReadHandle.h>
Classes | |
| struct | SysData |
| the data held per-systematic (filled in initialize) More... | |
Public Member Functions | |
| template<typename T2> | |
| SysReadHandle (T2 *owner, const std::string &propertyName, const std::string &propertyValue, const std::string &propertyDescription) | |
| Standard constructor. | |
| template<typename T2> | |
| SysReadHandle (const std::string &inputName, 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 retrieve from the event store | |
| ::StatusCode | retrieve (const T *&object, const CP::SystematicSet &sys, const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| retrieve the object for the given name | |
| bool | isValid (const CP::SystematicSet &sys, const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| check if the object is available Note that this should only be used in special use cases and may be removed in the future. | |
| 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::ReadHandleKey< T > & | getReadHandle (const CP::SystematicSet &sys) const |
| get the read handle key for the given systematic | |
Private Attributes | |
| std::string | m_inputName |
| the input name we use | |
| 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 reading systematics varied input data
Definition at line 31 of file SysReadHandle.h.
| CP::SysReadHandle< T >::SysReadHandle | ( | 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 read should be configurable
| CP::SysReadHandle< T >::SysReadHandle | ( | const std::string & | inputName, |
| 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::SysReadHandle< T >::getName | ( | const CP::SystematicSet & | sys | ) | const |
get the name we retrieve from the event store
|
overridevirtual |
get the name pattern before substitution
Implements CP::ISysObjectHandleBase.
|
private |
get the read handle key for the given systematic
| StatusCode CP::SysReadHandle< T >::initialize | ( | SysListHandle & | sysListHandle | ) |
initialize this handle
| StatusCode CP::SysReadHandle< T >::initialize | ( | SysListHandle & | sysListHandle, |
| SG::AllowEmptyEnum | ) |
| bool CP::SysReadHandle< T >::isValid | ( | const CP::SystematicSet & | sys, |
| const EventContext & | ctx = Gaudi::Hive::currentContext() ) const |
check if the object is available Note that this should only be used in special use cases and may be removed in the future.
|
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::SysReadHandle< T >::retrieve | ( | const T *& | object, |
| const CP::SystematicSet & | sys, | ||
| const EventContext & | ctx = Gaudi::Hive::currentContext() ) const |
retrieve the object for the given name
|
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 130 of file SysReadHandle.h.
|
private |
|
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 |
Definition at line 119 of file SysReadHandle.h.