asg::detail::AnaToolConfig Class Reference

the complete configuration for a tool More...

#include <AnaToolHandle.h>

List of all members.

Public Member Functions

void swap (AnaToolConfig &that) noexcept
 standard swap
bool empty () const noexcept
 whether we contain no properties
const std::string & type () const noexcept
 the type of the tool to create
void setType (std::string type) noexcept
 set the value of type
template<typename Type >
StatusCode setProperty (const std::string &val_name, const Type &val_value)
 set the property with the given name in the same fashion as AnaToolHandle::setProperty
template<typename Type >
StatusCode setProperty (const std::string &val_name, const AnaToolHandle< Type > &val_value)
template<typename Type >
StatusCode setProperty (const std::string &val_name, const ToolHandle< Type > &val_value)
template<typename Type >
StatusCode setProperty (const std::string &val_name, const ToolHandleArray< Type > &val_value)
StatusCode setProperty (const std::string &val_name, const char *val_value)
void addProperty (const std::string &name, const std::shared_ptr< AnaToolProperty > &property)
 add/set the property with the given name
template<typename ToolType >
StatusCode makeTool (const std::string &name, parentType_t *parent, ToolHandle< ToolType > &th, AnaToolCleanup &cleanup) const
 make a configured and initialized tool
StatusCode makeBaseTool (const std::string &name, parentType_t *parent, ToolHandle< interfaceType_t > &th, AnaToolCleanup &cleanup) const
 make a configured and initialized tool of the basic type
StatusCode applyPropertiesAthena (const std::string &toolName, AnaToolCleanup &cleanup) const
 store the properties in the configuration service in Athena

Detailed Description

the complete configuration for a tool

This is very much a-kin to the python configurables used inside Athena (thanks Steve Farrell for the analogy). However, so far this is mostly an internal helper class for the AnaToolHandle implementation.


Member Function Documentation

void asg::detail::AnaToolConfig::addProperty ( const std::string &  name,
const std::shared_ptr< AnaToolProperty > &  property 
)

add/set the property with the given name

Guarantee
strong
Failures
out of memory II
StatusCode asg::detail::AnaToolConfig::applyPropertiesAthena ( const std::string &  toolName,
AnaToolCleanup cleanup 
) const

store the properties in the configuration service in Athena

Guarantee
basic
Failures
out of memory II
bool asg::detail::AnaToolConfig::empty (  )  const

whether we contain no properties

Guarantee
no-fail
StatusCode asg::detail::AnaToolConfig::makeBaseTool ( const std::string &  name,
parentType_t *  parent,
ToolHandle< interfaceType_t > &  th,
AnaToolCleanup cleanup 
) const

make a configured and initialized tool of the basic type

Guarantee
strong
Failures
tool creation failures
template<typename ToolType >
StatusCode asg::detail::AnaToolConfig::makeTool ( const std::string &  name,
parentType_t *  parent,
ToolHandle< ToolType > &  th,
AnaToolCleanup cleanup 
) const [inline]

make a configured and initialized tool

Guarantee
strong
Failures
tool creation failures
StatusCode asg::detail::AnaToolConfig::setProperty ( const std::string &  val_name,
const char *  val_value 
)

set the property with the given name in the same fashion as AnaToolHandle::setProperty

Guarantee
strong
Failures
out of memory II
no way to handle value

template<typename Type >
StatusCode asg::detail::AnaToolConfig::setProperty ( const std::string &  val_name,
const ToolHandleArray< Type > &  val_value 
) [inline]

set the property with the given name in the same fashion as AnaToolHandle::setProperty

Guarantee
strong
Failures
out of memory II
no way to handle value

template<typename Type >
StatusCode asg::detail::AnaToolConfig::setProperty ( const std::string &  val_name,
const ToolHandle< Type > &  val_value 
) [inline]

set the property with the given name in the same fashion as AnaToolHandle::setProperty

Guarantee
strong
Failures
out of memory II
no way to handle value

template<typename Type >
StatusCode asg::detail::AnaToolConfig::setProperty ( const std::string &  val_name,
const AnaToolHandle< Type > &  val_value 
) [inline]

set the property with the given name in the same fashion as AnaToolHandle::setProperty

Guarantee
strong
Failures
out of memory II
no way to handle value

template<typename Type >
StatusCode asg::detail::AnaToolConfig::setProperty ( const std::string &  val_name,
const Type &  val_value 
) [inline]

set the property with the given name in the same fashion as AnaToolHandle::setProperty

Guarantee
strong
Failures
out of memory II
no way to handle value
void asg::detail::AnaToolConfig::setType ( std::string  type  ) 

set the value of type

Guarantee
no-fail
void asg::detail::AnaToolConfig::swap ( AnaToolConfig that  ) 

standard swap

Guarantee
no-fail
const std::string & asg::detail::AnaToolConfig::type (  )  const

the type of the tool to create

Guarantee
no-fail

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 15 Apr 2017 for RootCore Packages by  doxygen 1.6.1