ana::DefinitionArgs Class Reference

the arguments passed into the makeXXX functions More...

#include <DefinitionArgs.h>

List of all members.

Public Member Functions

void testInvariant () const
 check the invariant of this object
 DefinitionArgs (const std::string &val_prefix, InternalConfiguration *val_configuration)
 standard constructor
 DefinitionArgs (DefinitionArgs &&)
 standard move constructor
DefinitionArgs cloneConf () const
 make a clone of this definition (without the associated tool sequence)
const std::string & prefix () const
 the prefix to use for tools to be created
void addToPrefix (const std::string &extension)
 add to the prefix
InternalConfigurationconfiguration () const
 the internal configuration to use
bool firstWP () const
 whether this is the first working point for the object definition
void setFirstWP (bool val_firstWP)
 set the value of firstWP
void add (std::unique_ptr< IAnaTool > val_tool)
 add a new tool to the tool sequence
bool filled () const
 whether the definition has been filled called to fill the sequence
AnaToolSequence && extractSequence ()
 extract the sequence created
ObjectType type () const
 the object type we are creating this for
void setType (ObjectType val_type)
 set the value of type
const std::string & name () const
 the name of the definition
void setName (const std::string &val_name)
 set the value of name

Detailed Description

the arguments passed into the makeXXX functions

Object definitions are created via factory methods. In order to make the interface of the factory methods stable it takes as an argument a single object of this class. The class itself can then be altered as the need for additional arguments to the factory method arises.

This is also used (partially filled) inside the definition maker to pass around arguments. This is mostly to avoid lengthy argument lists, particularly when they are passed through multiple functions


Constructor & Destructor Documentation

ana::DefinitionArgs::DefinitionArgs ( const std::string &  val_prefix,
InternalConfiguration val_configuration 
)

standard constructor

Guarantee
strong
Failures
out of memory II
ana::DefinitionArgs::DefinitionArgs ( DefinitionArgs &&   ) 

standard move constructor

Guarantee
no-fail

Member Function Documentation

void ana::DefinitionArgs::add ( std::unique_ptr< IAnaTool val_tool  ) 

add a new tool to the tool sequence

Guarantee
strong
Failures
out of memory I
void ana::DefinitionArgs::addToPrefix ( const std::string &  extension  ) 

add to the prefix

Guarantee
strong
Failures
out of memory II
DefinitionArgs ana::DefinitionArgs::cloneConf (  )  const

make a clone of this definition (without the associated tool sequence)

I use this instead of the copy constructor to make it clear that the tool sequence does not get copied.

Guarantee
strong
Failures
out of memory II
InternalConfiguration * ana::DefinitionArgs::configuration (  )  const

the internal configuration to use

Guarantee
no-fail
Postcondition:
result != nullptr
AnaToolSequence && ana::DefinitionArgs::extractSequence (  ) 

extract the sequence created

Guarantee
no-fail
bool ana::DefinitionArgs::filled (  )  const

whether the definition has been filled called to fill the sequence

Guarantee
no-fail
bool ana::DefinitionArgs::firstWP (  )  const

whether this is the first working point for the object definition

Guarantee
no-fail
const std::string & ana::DefinitionArgs::name (  )  const

the name of the definition

Guarantee
no-fail
const std::string & ana::DefinitionArgs::prefix (  )  const

the prefix to use for tools to be created

tools need to have unique names, and this is the way to ensure them.

Guarantee
no-fail
Postcondition:
!result.empty()
void ana::DefinitionArgs::setFirstWP ( bool  val_firstWP  ) 

set the value of firstWP

Guarantee
no-fail
void ana::DefinitionArgs::setName ( const std::string &  val_name  ) 

set the value of name

Guarantee
no-fail
void ana::DefinitionArgs::setType ( ObjectType  val_type  ) 

set the value of type

Guarantee
no-fail
void ana::DefinitionArgs::testInvariant (  )  const

check the invariant of this object

Guarantee
no-fail
ObjectType ana::DefinitionArgs::type (  )  const

the object type we are creating this for

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 1 Dec 2017 for RootCore Packages by  doxygen 1.6.1