|  | Iguana 1.0.0
    Implementation Guardian of Analysis Algorithms | 
#include <Validator.h>
Base class for all algorithm validators to inherit from.
Similar to iguana::Algorithm, derived classes should override the methods Validator::Start, Validator::Run and Validator::Stop
Definition at line 21 of file Validator.h.
| Public Member Functions | |
| std::optional< std::string > | GetOutputDirectory () | 
| bool | Run (hipo::banklist &banks) const override | 
| Run Function: Process an event's hipo::banklist | |
| void | SetOutputDirectory (std::string_view output_dir) | 
| void | Start (hipo::banklist &banks) override | 
| Initialize this algorithm before any events are processed, with the intent to process banks. | |
| void | Stop () override | 
| Finalize this algorithm after all events are processed. | |
| Validator (std::string_view name="validator") | |
| Public Member Functions inherited from iguana::Algorithm | |
| Algorithm (std::string_view name) | |
| std::unique_ptr< YAMLReader > const & | GetConfig () const | 
| hipo::bank | GetCreatedBank (std::string const &bank_name="") const noexcept(false) | 
| std::string | GetCreatedBankName () const noexcept(false) | 
| std::vector< std::string > | GetCreatedBankNames () const noexcept(false) | 
| hipo::schema | GetCreatedBankSchema (std::string const &bank_name="") const noexcept(false) | 
| template<typename OPTION_TYPE> | |
| OPTION_TYPE | GetOptionScalar (std::string const &key, YAMLReader::node_path_t node_path={}) const | 
| template<typename OPTION_TYPE> | |
| std::set< OPTION_TYPE > | GetOptionSet (std::string const &key, YAMLReader::node_path_t node_path={}) const | 
| template<typename OPTION_TYPE> | |
| std::vector< OPTION_TYPE > | GetOptionVector (std::string const &key, YAMLReader::node_path_t node_path={}) const | 
| void | SetConfig (std::unique_ptr< YAMLReader > &&yaml_config) | 
| void | SetConfigDirectory (std::string const &name) | 
| void | SetConfigFile (std::string const &name) | 
| void | SetName (std::string_view name) | 
| template<typename OPTION_TYPE> | |
| OPTION_TYPE | SetOption (std::string const &key, const OPTION_TYPE val) | 
| void | Start () | 
| Initialize this algorithm before any events are processed, with the intent to process bank rows rather than full banks;. | |
| Public Member Functions inherited from iguana::Object | |
| std::unique_ptr< Logger > & | GetLog () | 
| std::string | GetName () const | 
| std::unique_ptr< Logger > & | Log () | 
| Object (std::string_view name="", Logger::Level lev=Logger::DEFAULT_LEVEL) | |
| void | SetLogLevel (Logger::Level const lev) | 
| void | SetLogLevel (std::string_view lev) | 
| void | SetName (std::string_view name) | 
| Protected Attributes | |
| std::unique_ptr< AlgorithmSequence > | m_algo_seq | 
| An iguana::AlgorithmSequence to be used for this validator. | |
| std::mutex | m_mutex | 
| Mutex for locking procedures such as histogram filling in Validator::Run. | |
| Protected Attributes inherited from iguana::Algorithm | |
| std::string | m_class_name | 
| Class name of this algorithm. | |
| std::string | m_default_config_file | 
| Default configuration file name. | |
| std::mutex | m_mutex | 
| A mutex for this algorithm. | |
| bool | m_rows_only | 
| If true, algorithm can only operate on bank rows; Algorithm::GetBank, and therefore Algorithm::Run, cannot be called. | |
| std::string | o_user_config_dir | 
| std::string | o_user_config_file | 
| Protected Attributes inherited from iguana::Object | |
| std::unique_ptr< Logger > | m_log | 
| Logger instance for this object | |
| std::string | m_name | 
| The name of this object. | |
| Additional Inherited Members | |
| Protected Member Functions inherited from iguana::Algorithm | |
| hipo::schema | CreateBank (hipo::banklist &banks, hipo::banklist::size_type &bank_idx, std::string const &bank_name) const noexcept(false) | 
| hipo::bank & | GetBank (hipo::banklist &banks, hipo::banklist::size_type const idx, std::string const &expected_bank_name="") const noexcept(false) | 
| hipo::banklist::size_type | GetBankIndex (hipo::banklist &banks, std::string const &bank_name) const noexcept(false) | 
| template<typename OPTION_TYPE> | |
| std::optional< OPTION_TYPE > | GetCachedOption (std::string const &key) const | 
| void | ParseYAMLConfig () | 
| Parse YAML configuration files. Sets m_yaml_config. | |
| void | ShowBank (hipo::bank const &bank, std::string_view message="", Logger::Level const level=Logger::trace) const | 
| void | ShowBanks (hipo::banklist const &banks, std::string_view message="", Logger::Level const level=Logger::trace) const | 
| void | ThrowSinceRenamed (std::string const &new_name, std::string const &version) const noexcept(false) | 

| 
 | inline | 
| name | the unique name for a derived class instance | 
Definition at line 27 of file Validator.h.
| 
 | inlinevirtual | 
Definition at line 37 of file Validator.h.
| std::optional< std::string > iguana::Validator::GetOutputDirectory | ( | ) | 
Get this validator's output directory
| 
 | inlineoverridevirtual | 
Run Function: Process an event's hipo::banklist
| banks | the list of banks to process | 
Implements iguana::Algorithm.
Reimplemented in iguana::clas12::ZVertexFilterValidator.
Definition at line 40 of file Validator.h.
| void iguana::Validator::SetOutputDirectory | ( | std::string_view | output_dir | ) | 
Set this validator's output directory
| output_dir | the output directory | 
| 
 | inlineoverridevirtual | 
Initialize this algorithm before any events are processed, with the intent to process banks.
use this method if you intend to use Algorithm::Run.
| banks | the list of banks this algorithm will use, so that Algorithm::Run can cache the indices of the banks that it needs | 
Implements iguana::Algorithm.
Reimplemented in iguana::clas12::ZVertexFilterValidator.
Definition at line 39 of file Validator.h.
| 
 | inlineoverridevirtual | 
Finalize this algorithm after all events are processed.
Implements iguana::Algorithm.
Reimplemented in iguana::clas12::ZVertexFilterValidator.
Definition at line 41 of file Validator.h.
| 
 | protected | 
An iguana::AlgorithmSequence to be used for this validator.
Definition at line 54 of file Validator.h.
| 
 | mutableprotected | 
Mutex for locking procedures such as histogram filling in Validator::Run.
Definition at line 57 of file Validator.h.