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