Iguana LATEST
Implementation Guardian of Analysis Algorithms
Loading...
Searching...
No Matches
iguana::example::ExampleSubclassAlgorithm Class Reference

#include <Algorithm.h>

Detailed Description

Algorithm: example demonstrating inheritance from another algorithm

Input and Output Banks:
See Run function(s) for the banks that are processed by this algorithm.
Type: Filter
This algorithm will filter input bank(s).
Configuration Options:
YAML configuration, which includes the default option values:
example::ExampleSubclassAlgorithm:
# NOTE: config is the same as `clas12::SectorFinder`, but with value changes
bank_charged: 'REC::Calorimeter'
bank_neutral: default

Definition at line 10 of file Algorithm.h.

Additional Inherited Members

Public Member Functions inherited from iguana::clas12::SectorFinder
void GetListsSectorPindex (hipo::bank const &bank, std::vector< int > &sectors, std::vector< int > &pindices) const
int GetSector (std::vector< int > const &sectors, std::vector< int > const &pindices, int const &pindex_particle) const
 Action Function: for a given particle with index pindex_particle, get its sector from a detector bank's list of sectors and pindices (both must be ordered in the same way)
int GetStandardSector (std::vector< int > const &sectors_track, std::vector< int > const &pindices_track, std::vector< int > const &sectors_cal, std::vector< int > const &pindices_cal, std::vector< int > const &sectors_scint, std::vector< int > const &pindices_scint, int const &pindex_particle) const
 Action Function: for a given particle with index pindex_particle, get its sector from using the standard method
std::vector< int > GetStandardSector (std::vector< int > const &sectors_track, std::vector< int > const &pindices_track, std::vector< int > const &sectors_cal, std::vector< int > const &pindices_cal, std::vector< int > const &sectors_scint, std::vector< int > const &pindices_scint, std::vector< int > const &pindices_particle) const
 Action Function: get sectors for all particles, using the standard method
bool Run (hipo::bank const &particleBank, hipo::bank const &trackBank, hipo::bank const &calBank, hipo::bank const &scintBank, hipo::bank &resultBank) const
 Run Function: Process an event's hipo::bank objects
bool RunWithCustomBanks (hipo::bank const &particleBank, hipo::bank const &userChargedBank, hipo::bank const &userNeutralBank, hipo::bank &resultBank) const
 Run Function: Process an event's hipo::bank objects
bool RunWithCustomChargedBank (hipo::bank const &particleBank, hipo::bank const &trackBank, hipo::bank const &calBank, hipo::bank const &scintBank, hipo::bank const &userChargedBank, hipo::bank &resultBank) const
 Run Function: Process an event's hipo::bank objects
bool RunWithCustomNeutralBank (hipo::bank const &particleBank, hipo::bank const &trackBank, hipo::bank const &calBank, hipo::bank const &scintBank, hipo::bank const &userNeutralBank, hipo::bank &resultBank) const
 Run Function: Process an event's hipo::bank objects
Public Member Functions inherited from iguana::Algorithm
 Algorithm (std::string_view name)
std::string GetAlgorithmDir () const
hipo::banklist::size_type GetBankIndex (hipo::banklist &banks, std::string const &bank_name) const noexcept(false)
std::unique_ptr< YAMLReader > const & GetConfig () const
hipo::bank GetCreatedBank (std::string const &bank_name="") const noexcept(false)
hipo::banklist::size_type GetCreatedBankIndex (hipo::banklist &banks) 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)
unsigned int GetCreatedBankVariant () const
std::string GetModelFile (std::string const &name)
YAML::Node GetOptionNode (YAMLReader::node_path_t node_path) const
template<typename OPTION_TYPE>
OPTION_TYPE GetOptionScalar (YAMLReader::node_path_t node_path={}) const
template<typename OPTION_TYPE>
std::set< OPTION_TYPE > GetOptionSet (YAMLReader::node_path_t node_path={}) const
template<typename OPTION_TYPE>
std::vector< OPTION_TYPE > GetOptionVector (YAMLReader::node_path_t node_path={}) const
std::unique_ptr< RCDBReader > & GetRCDBReader ()
virtual bool Run (hipo::banklist &banks) const final
 Run Function: Process an event's hipo::banklist
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)
 Set an option specified by the user.
virtual void Start () final
 Start Function: Initialize this algorithm before any events are processed, with the intent to process either hipo::bank objects or bank rows, rather than full hipo::banklist objects
virtual void Start (hipo::banklist &banks) final
 Start Function: Initialize this algorithm before any events are processed, with the intent to process hipo::banklist objects
virtual void Stop () final
 Stop Function: Finalize this algorithm after all events are processed.
Public Member Functions inherited from iguana::Object
 Object (std::string_view name="", Logger::Level lev=Logger::DEFAULT_LEVEL)
std::unique_ptr< Logger > & GetLog ()
std::string GetName () const
std::unique_ptr< Logger > & Log ()
void SetLogLevel (Logger::Level const lev)
void SetLogLevel (std::string_view lev)
void SetName (std::string_view name)
Static Public Attributes inherited from iguana::clas12::SectorFinder
static int const UNKNOWN_SECTOR = -1
 if this algorithm cannot determine the sector, this value will be used
Protected Member Functions inherited from iguana::Algorithm
hipo::schema CreateBank (hipo::banklist &banks, hipo::banklist::size_type &bank_idx, std::string const &bank_name) noexcept(false)
hipo::bank & GetBank (hipo::banklist &banks, hipo::banklist::size_type const idx, std::string const &expected_bank_name="") const noexcept(false)
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 StartRCDBReader ()
 Instantiate the RCDBReader instance for this algorithm.
void ThrowSinceRenamed (std::string const &new_name, std::string const &version) const noexcept(false)
Protected Attributes inherited from iguana::Algorithm
std::string m_class_name
 Class name of this algorithm.
unsigned int m_created_bank_variant {0}
std::string m_default_config_file
 Default configuration file name.
std::mutex m_mutex
 A mutex for this algorithm.
std::unique_ptr< RCDBReaderm_rcdb
 RCDB reader.
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< Loggerm_log
 Logger instance for this object
std::string m_name
 The name of this object.
Inheritance diagram for iguana::example::ExampleSubclassAlgorithm:
Inheritance graph

The documentation for this class was generated from the following file:
  • /builds/hallb/clas12/iguana/src/iguana/algorithms/example/ExampleSubclassAlgorithm/Algorithm.h