LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
cmtool::CPAlgoPolyArea Class Reference

#include "CPAlgoPolyArea.h"

Inheritance diagram for cmtool::CPAlgoPolyArea:
cmtool::CPriorityAlgoBase cmtool::CMAlgoBase

Public Member Functions

 CPAlgoPolyArea ()
 Default constructor. More...
 
virtual float Priority (const ::cluster::ClusterParamsAlg &cluster)
 
void SetMinArea (double area)
 Setter for minimum area. More...
 
virtual float Priority (const cluster::ClusterParamsAlg &cluster)
 
virtual void Reset ()
 Function to reset the algorithm instance called within CMergeManager/CMatchManager's Reset() ... maybe implemented via child class. More...
 
virtual void EventBegin (const std::vector< cluster::ClusterParamsAlg > &)
 
virtual void EventEnd ()
 
virtual void IterationBegin (const std::vector< cluster::ClusterParamsAlg > &)
 
virtual void IterationEnd ()
 
virtual void Report ()
 
void SetAnaFile (TFile *fout)
 Setter function for an output plot TFile pointer. More...
 
virtual void SetVerbose (bool doit=true)
 Setter function for verbosity. More...
 

Protected Attributes

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...
 

Private Attributes

double _area_cut
 

Detailed Description

Simple algorithm to determine priority based on area of 2D polygon. If area < set cut value by a user, returns -1.

Definition at line 25 of file CPAlgoPolyArea.h.

Constructor & Destructor Documentation

cmtool::CPAlgoPolyArea::CPAlgoPolyArea ( )

Default constructor.

Definition at line 6 of file CPAlgoPolyArea.cxx.

References _area_cut.

7  //----------------------------------------------------------
8  {
9  _area_cut = 0;
10  }
CPriorityAlgoBase()
Default constructor.

Member Function Documentation

virtual void cmtool::CMAlgoBase::EventBegin ( const std::vector< cluster::ClusterParamsAlg > &  )
inlinevirtualinherited

Optional function: called at the beginning of 1st iteration. This is called per event.

Reimplemented in cmtool::CPAlgoArray, cmtool::CBAlgoArray, and cmtool::CBAlgoPolyShortestDist.

Definition at line 45 of file CMAlgoBase.h.

Referenced by cmtool::CMergeManager::EventBegin().

45 {}
virtual void cmtool::CMAlgoBase::EventEnd ( )
inlinevirtualinherited

Optional function: called at the end of event ... after the last merging iteration is over.

Reimplemented in cmtool::CPAlgoArray, and cmtool::CBAlgoArray.

Definition at line 50 of file CMAlgoBase.h.

Referenced by cmtool::CMatchManager::EventEnd(), and cmtool::CMergeManager::EventEnd().

50 {}
virtual void cmtool::CMAlgoBase::IterationBegin ( const std::vector< cluster::ClusterParamsAlg > &  )
inlinevirtualinherited

Optional function: called at the beggining of each iteration over all pairs of clusters. This provides all clusters' information in case the algorithm need them. Note this is called per iteration which may be more than once per event.

Reimplemented in cmtool::CPAlgoArray, and cmtool::CBAlgoArray.

Definition at line 57 of file CMAlgoBase.h.

Referenced by cmtool::CMatchManager::EventBegin(), cmtool::CMatchManager::IterationBegin(), and cmtool::CMergeManager::IterationBegin().

57 {}
virtual void cmtool::CMAlgoBase::IterationEnd ( )
inlinevirtualinherited

Optional function: called at the end of each iteration over all pairs of clusters.

Reimplemented in cmtool::CPAlgoArray, and cmtool::CBAlgoArray.

Definition at line 62 of file CMAlgoBase.h.

Referenced by cmtool::CMatchManager::IterationEnd(), and cmtool::CMergeManager::IterationEnd().

62 {}
float cmtool::CPAlgoPolyArea::Priority ( const ::cluster::ClusterParamsAlg cluster)
virtual

Core function: given the CPAN input, return a float which indicates the user-defined priority for analysis.

Definition at line 13 of file CPAlgoPolyArea.cxx.

References _area_cut.

15  {
16 
17  auto area = cluster.GetParams().PolyObject.Area();
18 
19  return (area < _area_cut ? -1 : area);
20  }
float Area() const
Definition: Polygon2D.cxx:118
Polygon2D PolyObject
Polygon Object...see Polygon2D.hh.
Definition: ClusterParams.h:21
const cluster_params & GetParams() const
virtual float cmtool::CPriorityAlgoBase::Priority ( const cluster::ClusterParamsAlg cluster)
inlinevirtualinherited

Core function: given the CPAN input, return whether a cluster should be merged or not.

Definition at line 40 of file CPriorityAlgoBase.h.

References cluster::ClusterParamsAlg::GetNHits().

Referenced by cmtool::CMManagerBase::ComputePriority().

41  {
42  if (cluster.GetNHits()) return 1.;
43  return 0.1;
44  }
void cmtool::CMAlgoBase::SetAnaFile ( TFile *  fout)
inlineinherited

Setter function for an output plot TFile pointer.

Definition at line 72 of file CMAlgoBase.h.

References cmtool::CMAlgoBase::_fout.

Referenced by cmtool::CMergeManager::EventBegin().

72 { _fout = fout; }
TFile * _fout
TFile pointer to an output file.
Definition: CMAlgoBase.h:79
void cmtool::CPAlgoPolyArea::SetMinArea ( double  area)
inline

Setter for minimum area.

Definition at line 38 of file CPAlgoPolyArea.h.

References _area_cut.

38 { _area_cut = area; }
virtual void cmtool::CMAlgoBase::SetVerbose ( bool  doit = true)
inlinevirtualinherited

Setter function for verbosity.

Reimplemented in cmtool::CBAlgoArray, and cmtool::CFAlgoTimeOverlap.

Definition at line 75 of file CMAlgoBase.h.

References cmtool::CMAlgoBase::_verbose.

Referenced by cmtool::CMatchManager::EventBegin(), and cmtool::CMergeManager::EventBegin().

75 { _verbose = doit; }
bool _verbose
Boolean to choose verbose mode. Turned on if CMergeManager/CMatchManager&#39;s verbosity level is >= kPer...
Definition: CMAlgoBase.h:82

Member Data Documentation

double cmtool::CPAlgoPolyArea::_area_cut
private

Definition at line 41 of file CPAlgoPolyArea.h.

Referenced by CPAlgoPolyArea(), Priority(), and SetMinArea().

TFile* cmtool::CMAlgoBase::_fout
protectedinherited

TFile pointer to an output file.

Definition at line 79 of file CMAlgoBase.h.

Referenced by cmtool::CMAlgoBase::CMAlgoBase(), and cmtool::CMAlgoBase::SetAnaFile().


The documentation for this class was generated from the following files: