LArSoft
v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
|
#include "CBAlgoArray.h"
Public Member Functions | |
CBAlgoArray () | |
Default constructor. More... | |
virtual | ~CBAlgoArray () |
Default destructor. More... | |
void | AddAlgo (CBoolAlgoBase *algo, bool ask_and=true) |
A simple method to add a one merging step. More... | |
virtual void | EventBegin (const std::vector< cluster::ClusterParamsAlg > &clusters) |
virtual void | EventEnd () |
virtual void | IterationBegin (const std::vector< cluster::ClusterParamsAlg > &clusters) |
virtual void | IterationEnd () |
virtual bool | Bool (const ::cluster::ClusterParamsAlg &cluster1, const ::cluster::ClusterParamsAlg &cluster2) |
virtual void | Report () |
virtual void | SetVerbose (bool doit=true) |
Function to set verbosity. More... | |
virtual void | Reset () |
Function to reset the algorithm instance ... maybe implemented via child class. More... | |
void | SetAnaFile (TFile *fout) |
Setter function for an output plot TFile pointer. More... | |
Protected Attributes | |
std::vector< CBoolAlgoBase * > | _algo_array |
std::vector< bool > | _ask_and |
size_t | _last_and_algo_index |
Index of last AND condition algorithm to speed execution. More... | |
TFile * | _fout |
TFile pointer to an output file. More... | |
bool | _verbose |
Boolean to choose verbose mode. Turned on if CMergeManager/CMatchManager's verbosity level is >= kPerMerging. More... | |
User implementation for CBAlgoArray class doxygen documentation!
Definition at line 26 of file CBAlgoArray.h.
cmtool::CBAlgoArray::CBAlgoArray | ( | ) |
Default constructor.
Definition at line 9 of file CBAlgoArray.cxx.
References _algo_array, and _ask_and.
|
inlinevirtual |
|
inline |
A simple method to add a one merging step.
Definition at line 37 of file CBAlgoArray.h.
References _algo_array, _ask_and, _last_and_algo_index, Bool(), EventBegin(), EventEnd(), IterationBegin(), IterationEnd(), and Report().
Referenced by cluster::SimpleClusterMerger::SimpleClusterMerger().
|
virtual |
Core function: given the CPAN input, return whether a cluster should be merged or not.
Reimplemented from cmtool::CBoolAlgoBase.
Definition at line 52 of file CBAlgoArray.cxx.
References _algo_array, _ask_and, and _last_and_algo_index.
Referenced by AddAlgo().
|
virtual |
Optional function: called at the beginning of 1st iteration. This is called per event.
Reimplemented from cmtool::CMAlgoBase.
Definition at line 24 of file CBAlgoArray.cxx.
References _algo_array.
Referenced by AddAlgo().
|
virtual |
Optional function: called at the end of event ... after the last merging iteration is over.
Reimplemented from cmtool::CMAlgoBase.
Definition at line 31 of file CBAlgoArray.cxx.
References _algo_array.
Referenced by AddAlgo().
|
virtual |
Optional function: Called at the beginning of each iteration over possible pairs of clusters
Reimplemented from cmtool::CMAlgoBase.
Definition at line 38 of file CBAlgoArray.cxx.
References _algo_array.
Referenced by AddAlgo().
|
virtual |
Optional function: Called at the end of each iteration over possible pairs of clusters
Reimplemented from cmtool::CMAlgoBase.
Definition at line 45 of file CBAlgoArray.cxx.
References _algo_array.
Referenced by AddAlgo().
|
virtual |
Optional function: called after each Merge() function call by CMergeManager IFF CMergeManager is run with verbosity level kPerMerging. Maybe useful for debugging.
Reimplemented from cmtool::CMAlgoBase.
Definition at line 95 of file CBAlgoArray.cxx.
References _algo_array.
Referenced by AddAlgo().
|
virtual |
Function to reset the algorithm instance ... maybe implemented via child class.
Reimplemented from cmtool::CMAlgoBase.
Definition at line 17 of file CBAlgoArray.cxx.
References _algo_array.
Referenced by SetVerbose().
|
inlineinherited |
Setter function for an output plot TFile pointer.
Definition at line 77 of file CMAlgoBase.h.
References cmtool::CMAlgoBase::_fout.
Referenced by cmtool::CMergeManager::EventBegin().
|
inlinevirtual |
Function to set verbosity.
Reimplemented from cmtool::CMAlgoBase.
Definition at line 79 of file CBAlgoArray.h.
References _algo_array, and Reset().
|
protected |
A list of algorithms to be run over. Algorithms are executed in consecutive order in this vector, which is the order of calling AddMergeAlgo function. For each algorithm, the Merge() function return bool is taken as either AND or OR condition with the result of previous algorithm (or simply with "true" for the 1st algo). Whether using AND or OR is a user configuration stored in _ask_and attribute
Definition at line 94 of file CBAlgoArray.h.
Referenced by AddAlgo(), Bool(), CBAlgoArray(), EventBegin(), EventEnd(), IterationBegin(), IterationEnd(), Report(), Reset(), and SetVerbose().
|
protected |
A boolean vector that holds user configuration of whether asking AND or OR condition for algorithms in _algo_array.
Definition at line 100 of file CBAlgoArray.h.
Referenced by AddAlgo(), Bool(), and CBAlgoArray().
|
protectedinherited |
TFile pointer to an output file.
Definition at line 85 of file CMAlgoBase.h.
Referenced by cmtool::CMAlgoBase::CMAlgoBase(), and cmtool::CMAlgoBase::SetAnaFile().
|
protected |
Index of last AND condition algorithm to speed execution.
Definition at line 103 of file CBAlgoArray.h.
|
protectedinherited |
Boolean to choose verbose mode. Turned on if CMergeManager/CMatchManager's verbosity level is >= kPerMerging.
Definition at line 88 of file CMAlgoBase.h.
Referenced by cmtool::CBAlgoAngleAlign::Bool(), cmtool::CBAlgoAngleCompat::Bool(), cmtool::CBAlgoShortestDistSmallCluster::Bool(), cmtool::CBAlgoShortestDist::Bool(), cmtool::CBAlgoOutOfConeSeparate::Bool(), cmtool::CBAlgoPolyOverlap::Bool(), cmtool::CBAlgoAngleSeparate::Bool(), cmtool::CBAlgoCenterOfMassSmall::Bool(), cmtool::CBAlgoCenterOfMass::Bool(), cmtool::CBAlgoStartInPoly::Bool(), cmtool::CBAlgoStartNearEnd::Bool(), cmtool::CBAlgoProhibitAllTracks::Bool(), cmtool::CBAlgoShortestDist::CBAlgoShortestDist(), cmtool::CBAlgoShortestDistSmallCluster::CBAlgoShortestDistSmallCluster(), cmtool::CMAlgoBase::CMAlgoBase(), cmtool::CFAlgoZOverlap::Float(), cmtool::CFAlgoQRatio::Float(), cmtool::CFAlgoStartPointMatch::Float(), cmtool::CMAlgoBase::SetVerbose(), cmtool::CBAlgoShortestDist::ShortestDistanceSquared(), cmtool::CBAlgoShortestDistSmallCluster::ShortestDistanceSquared(), cmtool::CBAlgoCenterOfMass::ShortestDistanceSquared(), and cmtool::CBAlgoCenterOfMassSmall::ShortestDistanceSquared().