LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
cmtool::CMAlgoBase Class Reference

#include "CMAlgoBase.h"

Inheritance diagram for cmtool::CMAlgoBase:
cmtool::CBoolAlgoBase cmtool::CFloatAlgoBase cmtool::CPriorityAlgoBase cmtool::CBAlgoAngleAlign cmtool::CBAlgoAngleCompat cmtool::CBAlgoAngleIncompat cmtool::CBAlgoAngleSeparate cmtool::CBAlgoArray cmtool::CBAlgoCenterOfMass cmtool::CBAlgoCenterOfMassSmall cmtool::CBAlgoFake cmtool::CBAlgoMergeAll cmtool::CBAlgoMergeTinyWithBig cmtool::CBAlgoOutOfConeSeparate cmtool::CBAlgoPolyContain cmtool::CBAlgoPolyHitOverlap cmtool::CBAlgoPolyOverlap cmtool::CBAlgoPolyShortestDist cmtool::CBAlgoProhibitAllTracks cmtool::CBAlgoProhibitBigClusters cmtool::CBAlgoShortestDist cmtool::CBAlgoShortestDistNonEndpoint cmtool::CBAlgoShortestDistSmallCluster cmtool::CBAlgoStartInCone cmtool::CBAlgoStartInPoly cmtool::CBAlgoStartNearEnd cmtool::CBAlgoStartTrack cmtool::CBAlgoTrackSeparate cmtool::CFAlgo3DAngle cmtool::CFAlgoArray cmtool::CFAlgoChargeDistrib cmtool::CFAlgoQRatio cmtool::CFAlgoShowerCompat cmtool::CFAlgoStartPointCompat cmtool::CFAlgoStartPointMatch cmtool::CFAlgoStartTimeCompat cmtool::CFAlgoTimeOverlap cmtool::CFAlgoTimeProf cmtool::CFAlgoVolumeOverlap cmtool::CFAlgoWireOverlap cmtool::CFAlgoZOverlap cmtool::CPAlgoArray cmtool::CPAlgoIgnoreTracks cmtool::CPAlgoNHits cmtool::CPAlgoPolyArea cmtool::CPAlgoQSum

Public Member Functions

 CMAlgoBase ()
 Default constructor. More...
 
virtual ~CMAlgoBase ()
 Default destructor. More...
 
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 > &clusters)
 
virtual void EventEnd ()
 
virtual void IterationBegin (const std::vector< cluster::ClusterParamsAlg > &clusters)
 
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...
 

Detailed Description

An abstract base class for merging/mathcing algorithm. Having this base class helps to have a better overall design of various merging for iterative approach. The algorithms are run through CMergeManager.

Definition at line 29 of file CMAlgoBase.h.

Constructor & Destructor Documentation

cmtool::CMAlgoBase::CMAlgoBase ( )
inline

Default constructor.

Definition at line 34 of file CMAlgoBase.h.

References _fout, and _verbose.

34 { _fout = 0; _verbose = false; }
TFile * _fout
TFile pointer to an output file.
Definition: CMAlgoBase.h:85
bool _verbose
Boolean to choose verbose mode. Turned on if CMergeManager/CMatchManager&#39;s verbosity level is >= kPer...
Definition: CMAlgoBase.h:88
virtual cmtool::CMAlgoBase::~CMAlgoBase ( )
inlinevirtual

Default destructor.

Definition at line 37 of file CMAlgoBase.h.

37 {}

Member Function Documentation

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

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

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

Definition at line 45 of file CMAlgoBase.h.

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

46  { if(clusters.size()) return; }
virtual void cmtool::CMAlgoBase::EventEnd ( )
inlinevirtual

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

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

Definition at line 51 of file CMAlgoBase.h.

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

52  {return;}
virtual void cmtool::CMAlgoBase::IterationBegin ( const std::vector< cluster::ClusterParamsAlg > &  clusters)
inlinevirtual

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::CFAlgoArray, cmtool::CPAlgoArray, and cmtool::CBAlgoArray.

Definition at line 59 of file CMAlgoBase.h.

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

60  { if(clusters.size()) return;}
virtual void cmtool::CMAlgoBase::IterationEnd ( )
inlinevirtual

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

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

Definition at line 65 of file CMAlgoBase.h.

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

66  {return; }
void cmtool::CMAlgoBase::SetAnaFile ( TFile *  fout)
inline

Setter function for an output plot TFile pointer.

Definition at line 77 of file CMAlgoBase.h.

References _fout.

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

77 { _fout = fout; }
TFile * _fout
TFile pointer to an output file.
Definition: CMAlgoBase.h:85
virtual void cmtool::CMAlgoBase::SetVerbose ( bool  doit = true)
inlinevirtual

Member Data Documentation

TFile* cmtool::CMAlgoBase::_fout
protected

TFile pointer to an output file.

Definition at line 85 of file CMAlgoBase.h.

Referenced by CMAlgoBase(), and SetAnaFile().


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