#include <FlashMatchManager.h>
Public Member Functions | |
FlashMatchManager (const std::string name="FlashMatchManager") | |
Default constructor. More... | |
~FlashMatchManager () | |
Default destructor. More... | |
const std::string & | Name () const |
Name getter. More... | |
void | Configure (const Config_t &cfg) |
Configuration. More... | |
flashmatch::BaseAlgorithm * | GetAlgo (flashmatch::Algorithm_t type) |
Algorithm getter. More... | |
flashmatch::BaseAlgorithm * | GetCustomAlgo (std::string name) |
Custom algorithm getter. More... | |
void | Emplace (flashmatch::QCluster_t &&obj) |
Emplacer of a TPC object (hidden from ROOT5 CINT) More... | |
void | Emplace (flashmatch::Flash_t &&obj) |
Emplacer of a TPC object (hidden from ROOT5 CINT) More... | |
void | Add (flashmatch::QCluster_t &obj) |
Adder of a TPC object. More... | |
void | Add (flashmatch::Flash_t &obj) |
Adder of a TPC object. More... | |
std::vector < flashmatch::FlashMatch_t > | Match () |
void | Reset () |
Clears locally kept TPC object (QClusterArray_t) and flash (FlashArray_t), both provided by a user. More... | |
void | CanReuseFlash (bool ok=true) |
Configuration option: true => allows an assignment of the same flash to multiple TPC objects. More... | |
void | PrintConfig () |
const QClusterArray_t & | QClusterArray () const |
Access to an input: TPC objects in the form of QClusterArray_t. More... | |
const FlashArray_t & | FlashArray () const |
Access to an input: PMT objects in the form of FlashArray_t. More... | |
const std::vector< std::vector < flashmatch::FlashMatch_t > > | FullResultTPCFlash () const |
Access to a full results (if configured to store) for [tpc][flash] indexing. More... | |
const std::vector< std::vector < flashmatch::FlashMatch_t > > | FullResultFlashTPC () const |
Access to a full results (if configured to store) for [flash][tpc] indexing. More... | |
void | SetChannelMask (std::vector< int >) |
Sets the op channels to be used for matching. More... | |
void | SetTPCCryo (int tpc, int _cryo) |
Sets the TPC and Cryo numbers. More... | |
void | SetUncoatedPMTs (std::vector< int > ch_uncoated) |
Sets the channels sensitive to visible light. More... | |
void | SetSemiAnalyticalModel (std::unique_ptr< SemiAnalyticalModel > model) |
Public Member Functions inherited from flashmatch::LoggerFeature | |
LoggerFeature (const std::string logger_name="LoggerFeature") | |
Default constructor. More... | |
LoggerFeature (const LoggerFeature &original) | |
Default copy constructor. More... | |
virtual | ~LoggerFeature () |
Default destructor. More... | |
const flashmatch::logger & | logger () const |
Logger getter. More... | |
void | set_verbosity (::flashmatch::msg::Level_t level) |
Verbosity level. More... | |
const std::string & | name () const |
Name getter, defined in a logger instance attribute. More... | |
Private Member Functions | |
void | AddCustomAlgo (BaseAlgorithm *alg) |
Private Attributes | |
BaseFlashFilter * | _alg_flash_filter |
Flash filter algorithm. More... | |
BaseTPCFilter * | _alg_tpc_filter |
TPC filter algorithm. More... | |
BaseProhibitAlgo * | _alg_match_prohibit |
Flash matchinig prohibit algorithm. More... | |
BaseFlashMatch * | _alg_flash_match |
Flash matching algorithm. More... | |
BaseFlashHypothesis * | _alg_flash_hypothesis |
Flash hypothesis algorithm. More... | |
std::map< std::string, flashmatch::BaseAlgorithm * > | _custom_alg_m |
QClusterArray_t | _tpc_object_v |
TPC object information collection (provided by a user) More... | |
FlashArray_t | _flash_v |
Flash object information collection (provided by a user) More... | |
bool | _allow_reuse_flash |
Configuration option to allow re-use of a flash (i.e. 1 flash can be assigned to multiple TPC object) More... | |
bool | _configured |
Configuration readiness flag. More... | |
std::string | _config_file |
Configuration file. More... | |
std::string | _name |
Name. More... | |
bool | _store_full |
Request boolean to store full matching result (per Match function call) More... | |
std::vector< std::vector < flashmatch::FlashMatch_t > > | _res_tpc_flash_v |
Full result container indexed by [tpc][flash]. More... | |
std::vector< std::vector < flashmatch::FlashMatch_t > > | _res_flash_tpc_v |
Full result container indexed by [flash][tpc]. More... | |
int | _tpc = 0 |
TPC number where to perform the matching. More... | |
int | _cryo = 0 |
Cryo number where to perform the matching. More... | |
Definition at line 29 of file FlashMatchManager.h.
flashmatch::FlashMatchManager::FlashMatchManager | ( | const std::string | name = "FlashMatchManager" | ) |
Default constructor.
Definition at line 20 of file FlashMatchManager.cxx.
|
inline |
void flashmatch::FlashMatchManager::Add | ( | flashmatch::QCluster_t & | obj | ) |
Adder of a TPC object.
Definition at line 187 of file FlashMatchManager.cxx.
void flashmatch::FlashMatchManager::Add | ( | flashmatch::Flash_t & | obj | ) |
Adder of a TPC object.
Definition at line 193 of file FlashMatchManager.cxx.
|
private |
Definition at line 82 of file FlashMatchManager.cxx.
|
inline |
Configuration option: true => allows an assignment of the same flash to multiple TPC objects.
Definition at line 77 of file FlashMatchManager.h.
void flashmatch::FlashMatchManager::Configure | ( | const Config_t & | cfg | ) |
Configuration.
Definition at line 92 of file FlashMatchManager.cxx.
void flashmatch::FlashMatchManager::Emplace | ( | flashmatch::QCluster_t && | obj | ) |
Emplacer of a TPC object (hidden from ROOT5 CINT)
Definition at line 190 of file FlashMatchManager.cxx.
void flashmatch::FlashMatchManager::Emplace | ( | flashmatch::Flash_t && | obj | ) |
Emplacer of a TPC object (hidden from ROOT5 CINT)
Definition at line 199 of file FlashMatchManager.cxx.
|
inline |
Access to an input: PMT objects in the form of FlashArray_t.
Definition at line 86 of file FlashMatchManager.h.
|
inline |
Access to a full results (if configured to store) for [flash][tpc] indexing.
Definition at line 93 of file FlashMatchManager.h.
|
inline |
Access to a full results (if configured to store) for [tpc][flash] indexing.
Definition at line 89 of file FlashMatchManager.h.
BaseAlgorithm * flashmatch::FlashMatchManager::GetAlgo | ( | flashmatch::Algorithm_t | type | ) |
Algorithm getter.
Definition at line 141 of file FlashMatchManager.cxx.
flashmatch::BaseAlgorithm * flashmatch::FlashMatchManager::GetCustomAlgo | ( | std::string | name | ) |
Custom algorithm getter.
Definition at line 178 of file FlashMatchManager.cxx.
std::vector< FlashMatch_t > flashmatch::FlashMatchManager::Match | ( | ) |
CORE FUNCTION: executes algorithms to find a match of TPC object and flash provided by users.
The execution takes following steps:
0) TPC filter algorithm if provided (optional)
1) Flash filter algorithm if provided (optional)
3) Flash matching algorithm (required)
4) Returns match information for created TPC object & flash pair which respects the outcome of 3)
Definition at line 206 of file FlashMatchManager.cxx.
const std::string & flashmatch::FlashMatchManager::Name | ( | ) | const |
void flashmatch::FlashMatchManager::PrintConfig | ( | ) |
Definition at line 354 of file FlashMatchManager.cxx.
|
inline |
Access to an input: TPC objects in the form of QClusterArray_t.
Definition at line 83 of file FlashMatchManager.h.
|
inline |
Clears locally kept TPC object (QClusterArray_t) and flash (FlashArray_t), both provided by a user.
Definition at line 73 of file FlashMatchManager.h.
void flashmatch::FlashMatchManager::SetChannelMask | ( | std::vector< int > | ch_mask | ) |
Sets the op channels to be used for matching.
Definition at line 380 of file FlashMatchManager.cxx.
void flashmatch::FlashMatchManager::SetSemiAnalyticalModel | ( | std::unique_ptr< SemiAnalyticalModel > | model | ) |
Definition at line 405 of file FlashMatchManager.cxx.
void flashmatch::FlashMatchManager::SetTPCCryo | ( | int | tpc, |
int | _cryo | ||
) |
Sets the TPC and Cryo numbers.
Definition at line 389 of file FlashMatchManager.cxx.
void flashmatch::FlashMatchManager::SetUncoatedPMTs | ( | std::vector< int > | ch_uncoated | ) |
Sets the channels sensitive to visible light.
Definition at line 398 of file FlashMatchManager.cxx.
|
private |
Flash filter algorithm.
Definition at line 113 of file FlashMatchManager.h.
|
private |
Flash hypothesis algorithm.
Definition at line 117 of file FlashMatchManager.h.
|
private |
Flash matching algorithm.
Definition at line 116 of file FlashMatchManager.h.
|
private |
Flash matchinig prohibit algorithm.
Definition at line 115 of file FlashMatchManager.h.
|
private |
TPC filter algorithm.
Definition at line 114 of file FlashMatchManager.h.
|
private |
Configuration option to allow re-use of a flash (i.e. 1 flash can be assigned to multiple TPC object)
Definition at line 129 of file FlashMatchManager.h.
|
private |
Configuration file.
Definition at line 133 of file FlashMatchManager.h.
|
private |
Configuration readiness flag.
Definition at line 131 of file FlashMatchManager.h.
|
private |
Cryo number where to perform the matching.
Definition at line 145 of file FlashMatchManager.h.
|
private |
A set of custom algorithms (not to be executed but to be configured)
Definition at line 122 of file FlashMatchManager.h.
|
private |
Flash object information collection (provided by a user)
Definition at line 127 of file FlashMatchManager.h.
|
private |
Name.
Definition at line 135 of file FlashMatchManager.h.
|
private |
Full result container indexed by [flash][tpc].
Definition at line 141 of file FlashMatchManager.h.
|
private |
Full result container indexed by [tpc][flash].
Definition at line 139 of file FlashMatchManager.h.
|
private |
Request boolean to store full matching result (per Match function call)
Definition at line 137 of file FlashMatchManager.h.
|
private |
TPC number where to perform the matching.
Definition at line 143 of file FlashMatchManager.h.
|
private |
TPC object information collection (provided by a user)
Definition at line 125 of file FlashMatchManager.h.