#include <CMManagerBase.h>
Public Types | |
| enum | CMMSGLevel_t { kPerMerging, kPerIteration, kPerEvent, kNone } |
| Enum to specify message output level. More... | |
Public Member Functions | |
| CMManagerBase () | |
| Default constructor. More... | |
| virtual | ~CMManagerBase ()=default |
| Default destructor. More... | |
| void | DebugMode (CMMSGLevel_t level) |
| Method to enable debug mode (lots of couts) More... | |
| void | ReportTimings (bool time_report=true) |
| Method to enable timing profile cout. More... | |
| void | Reset () |
| Method to reset itself. More... | |
| void | AddPriorityAlgo (CPriorityAlgoBase *algo) |
| Setter to add an algorithm for priority determination. More... | |
| void | MergeTillConverge (bool doit=true) |
| Switch to continue merging till converges. More... | |
| void | SetClusters (util::GeometryUtilities const &gser, const std::vector< std::vector< util::PxHit >> &clusters) |
| A simple method to add a cluster. More... | |
| void | SetClusters (const std::vector< cluster::ClusterParamsAlg > &clusters) |
| A simple method to add a cluster. More... | |
| const std::vector < cluster::ClusterParamsAlg > & | GetInputClusters () const |
| A getter for input clusters. More... | |
| void | SetMinNHits (unsigned int n) |
| A setter for minimum # of hits ... passed onto ClusterParamsAlg. More... | |
| void | Process (util::GeometryUtilities const &gser) |
| A method to execute the main action, to be called per event. More... | |
| void | SetAnaFile (TFile *fout) |
| A setter for an analysis output file. More... | |
Protected Member Functions | |
| void | ComputePriority (const std::vector< cluster::ClusterParamsAlg > &clusters) |
| Function to compute priority. More... | |
| virtual void | EventBegin () |
| FMWK function called @ beginning of Process() More... | |
| virtual void | IterationBegin () |
| FMWK function called @ beginning of iterative loop inside Process() More... | |
| virtual bool | IterationProcess (util::GeometryUtilities const &gser)=0 |
| FMWK function called @ iterative loop inside Process() More... | |
| virtual void | IterationEnd () |
| FMWK function called @ end of iterative loop inside Process() More... | |
| virtual void | EventEnd () |
| FMWK function called @ end of Process() More... | |
Protected Attributes | |
| bool | _time_report |
| Timing verbosity flag. More... | |
| unsigned int | _min_nhits |
| Minimum number of hits: the limit set for ClusterParamsAlg. More... | |
| CMMSGLevel_t | _debug_mode |
| Debug mode switch. More... | |
| std::vector < cluster::ClusterParamsAlg > | _in_clusters |
| Input clusters. More... | |
| ::cmtool::CPriorityAlgoBase * | _priority_algo |
| Priority algorithm. More... | |
| TFile * | _fout |
| Output analysis plot TFile. More... | |
| std::multimap< float, size_t > | _priority |
| Priority record. More... | |
| bool | _merge_till_converge |
| Iteration loop switch. More... | |
| std::set< UChar_t > | _planes |
| A holder for # of unique planes in the clusters, computed in ComputePriority() function. More... | |
A class that instantiates merging algorithm(s) and run. The book-keeping of merged cluster sets are done by CMergeBookKeeper.
Definition at line 41 of file CMManagerBase.h.
Enum to specify message output level.
| Enumerator | |
|---|---|
| kPerMerging |
Extremely verbose (cout per individual algorithm execution) |
| kPerIteration |
Somewhat verbose (cout per merging iteration) |
| kPerEvent |
Bit verbose (cout per event) |
| kNone |
Normal. |
Definition at line 44 of file CMManagerBase.h.
| cmtool::CMManagerBase::CMManagerBase | ( | ) |
Default constructor.
Definition at line 16 of file CMManagerBase.cxx.
|
virtualdefault |
Default destructor.
|
inline |
Setter to add an algorithm for priority determination.
Definition at line 80 of file CMManagerBase.h.
|
protected |
Function to compute priority.
Definition at line 160 of file CMManagerBase.cxx.
|
inline |
Method to enable debug mode (lots of couts)
Definition at line 63 of file CMManagerBase.h.
|
inlineprotectedvirtual |
FMWK function called @ beginning of Process()
Reimplemented in cmtool::CMergeManager, and cmtool::CMatchManager.
Definition at line 129 of file CMManagerBase.h.
|
inlineprotectedvirtual |
FMWK function called @ end of Process()
Reimplemented in cmtool::CMergeManager, and cmtool::CMatchManager.
Definition at line 147 of file CMManagerBase.h.
|
inline |
A getter for input clusters.
Definition at line 101 of file CMManagerBase.h.
|
inlineprotectedvirtual |
FMWK function called @ beginning of iterative loop inside Process()
Reimplemented in cmtool::CMergeManager, and cmtool::CMatchManager.
Definition at line 134 of file CMManagerBase.h.
|
inlineprotectedvirtual |
FMWK function called @ end of iterative loop inside Process()
Reimplemented in cmtool::CMergeManager, and cmtool::CMatchManager.
Definition at line 142 of file CMManagerBase.h.
|
protectedpure virtual |
FMWK function called @ iterative loop inside Process()
Implemented in cmtool::CMergeManager, and cmtool::CMatchManager.
|
inline |
Switch to continue merging till converges.
Definition at line 87 of file CMManagerBase.h.
| void cmtool::CMManagerBase::Process | ( | util::GeometryUtilities const & | gser | ) |
A method to execute the main action, to be called per event.
Definition at line 93 of file CMManagerBase.cxx.
|
inline |
Method to enable timing profile cout.
Definition at line 70 of file CMManagerBase.h.
| void cmtool::CMManagerBase::Reset | ( | ) |
Method to reset itself.
Definition at line 28 of file CMManagerBase.cxx.
|
inline |
A setter for an analysis output file.
Definition at line 118 of file CMManagerBase.h.
| void cmtool::CMManagerBase::SetClusters | ( | util::GeometryUtilities const & | gser, |
| const std::vector< std::vector< util::PxHit >> & | clusters | ||
| ) |
A simple method to add a cluster.
Definition at line 36 of file CMManagerBase.cxx.
| void cmtool::CMManagerBase::SetClusters | ( | const std::vector< cluster::ClusterParamsAlg > & | clusters | ) |
A simple method to add a cluster.
Definition at line 78 of file CMManagerBase.cxx.
|
inline |
A setter for minimum # of hits ... passed onto ClusterParamsAlg.
Definition at line 108 of file CMManagerBase.h.
|
protected |
Debug mode switch.
Definition at line 158 of file CMManagerBase.h.
|
protected |
Output analysis plot TFile.
Definition at line 167 of file CMManagerBase.h.
|
protected |
Input clusters.
Definition at line 161 of file CMManagerBase.h.
|
protected |
Iteration loop switch.
Definition at line 173 of file CMManagerBase.h.
|
protected |
Minimum number of hits: the limit set for ClusterParamsAlg.
Definition at line 155 of file CMManagerBase.h.
|
protected |
A holder for # of unique planes in the clusters, computed in ComputePriority() function.
Definition at line 176 of file CMManagerBase.h.
|
protected |
Priority record.
Definition at line 170 of file CMManagerBase.h.
|
protected |
Priority algorithm.
Definition at line 164 of file CMManagerBase.h.
|
protected |
Timing verbosity flag.
Definition at line 152 of file CMManagerBase.h.
1.8.5