the arguments passed into the makeXXX functions More...
#include <DefinitionArgs.h>
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 | |
| InternalConfiguration * | configuration () 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 | |
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
| ana::DefinitionArgs::DefinitionArgs | ( | const std::string & | val_prefix, | |
| InternalConfiguration * | val_configuration | |||
| ) |
standard constructor
| ana::DefinitionArgs::DefinitionArgs | ( | DefinitionArgs && | ) |
standard move constructor
| void ana::DefinitionArgs::add | ( | std::unique_ptr< IAnaTool > | val_tool | ) |
add a new tool to the tool sequence
| void ana::DefinitionArgs::addToPrefix | ( | const std::string & | extension | ) |
add to the prefix
| 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.
| InternalConfiguration * ana::DefinitionArgs::configuration | ( | ) | const |
the internal configuration to use
| AnaToolSequence && ana::DefinitionArgs::extractSequence | ( | ) |
extract the sequence created
| bool ana::DefinitionArgs::filled | ( | ) | const |
whether the definition has been filled called to fill the sequence
| bool ana::DefinitionArgs::firstWP | ( | ) | const |
whether this is the first working point for the object definition
| const std::string & ana::DefinitionArgs::name | ( | ) | const |
the name of the definition
| 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.
| void ana::DefinitionArgs::setFirstWP | ( | bool | val_firstWP | ) |
set the value of firstWP
| void ana::DefinitionArgs::setName | ( | const std::string & | val_name | ) |
set the value of name
| void ana::DefinitionArgs::setType | ( | ObjectType | val_type | ) |
set the value of type
| void ana::DefinitionArgs::testInvariant | ( | ) | const |
check the invariant of this object
| ObjectType ana::DefinitionArgs::type | ( | ) | const |
the object type we are creating this for
1.6.1