Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
lar_content::TwoDSlidingFitSplittingAlgorithm Class Referenceabstract

TwoDSlidingFitSplittingAlgorithm class. More...

#include <TwoDSlidingFitSplittingAlgorithm.h>

Inheritance diagram for lar_content::TwoDSlidingFitSplittingAlgorithm:
lar_content::ClusterSplittingAlgorithm lar_content::KinkSplittingAlgorithm lar_content::VertexSplittingAlgorithm

Public Member Functions

 TwoDSlidingFitSplittingAlgorithm ()
 Default constructor. More...
 

Protected Member Functions

virtual pandora::StatusCode ReadSettings (const pandora::TiXmlHandle xmlHandle)
 
virtual pandora::StatusCode FindBestSplitPosition (const TwoDSlidingFitResult &slidingFitResult, pandora::CartesianVector &splitPosition) const =0
 Use sliding linear fit to identify the best split position. More...
 
- Protected Member Functions inherited from lar_content::ClusterSplittingAlgorithm
virtual pandora::StatusCode Run ()
 
pandora::StatusCode RunUsingCurrentList () const
 Run the algorithm using the current cluster list as input. More...
 

Protected Attributes

unsigned int m_slidingFitHalfWindow
 
float m_minClusterLength
 

Private Member Functions

pandora::StatusCode DivideCaloHits (const pandora::Cluster *const pCluster, pandora::CaloHitList &firstCaloHitList, pandora::CaloHitList &secondCaloHitList) const
 Divide calo hits in a cluster into two lists, each associated with a separate fragment cluster. More...
 
pandora::StatusCode DivideCaloHits (const TwoDSlidingFitResult &slidingFitResult, const pandora::CartesianVector &splitPosition, pandora::CaloHitList &firstCaloHitList, pandora::CaloHitList &secondCaloHitList) const
 Use sliding linear fit to separate cluster into two fragments. More...
 

Detailed Description

TwoDSlidingFitSplittingAlgorithm class.

Definition at line 21 of file TwoDSlidingFitSplittingAlgorithm.h.

Constructor & Destructor Documentation

lar_content::TwoDSlidingFitSplittingAlgorithm::TwoDSlidingFitSplittingAlgorithm ( )

Member Function Documentation

pandora::StatusCode lar_content::TwoDSlidingFitSplittingAlgorithm::DivideCaloHits ( const pandora::Cluster *const  pCluster,
pandora::CaloHitList &  firstCaloHitList,
pandora::CaloHitList &  secondCaloHitList 
) const
privatevirtual

Divide calo hits in a cluster into two lists, each associated with a separate fragment cluster.

Parameters
pClusteraddress of the cluster
firstCaloHitListthe hits in the first fragment
secondCaloHitListthe hits in the second fragment

Implements lar_content::ClusterSplittingAlgorithm.

pandora::StatusCode lar_content::TwoDSlidingFitSplittingAlgorithm::DivideCaloHits ( const TwoDSlidingFitResult slidingFitResult,
const pandora::CartesianVector &  splitPosition,
pandora::CaloHitList &  firstCaloHitList,
pandora::CaloHitList &  secondCaloHitList 
) const
private

Use sliding linear fit to separate cluster into two fragments.

Parameters
slidingFitResultthe input sliding fit result
splitPositionthe split position
firstCaloHitListthe hits in the first cluster fragment
secondCaloHitListthe hits in the second cluster fragment
Returns
pandora::StatusCode
virtual pandora::StatusCode lar_content::TwoDSlidingFitSplittingAlgorithm::FindBestSplitPosition ( const TwoDSlidingFitResult slidingFitResult,
pandora::CartesianVector &  splitPosition 
) const
protectedpure virtual

Use sliding linear fit to identify the best split position.

Parameters
slidingFitResultthe input sliding fit result
splitPositionthe best split position
Returns
pandora::StatusCode

Implemented in lar_content::KinkSplittingAlgorithm, and lar_content::VertexSplittingAlgorithm.

StatusCode lar_content::TwoDSlidingFitSplittingAlgorithm::ReadSettings ( const pandora::TiXmlHandle  xmlHandle)
protectedvirtual

Reimplemented from lar_content::ClusterSplittingAlgorithm.

Reimplemented in lar_content::VertexSplittingAlgorithm, and lar_content::KinkSplittingAlgorithm.

Definition at line 92 of file TwoDSlidingFitSplittingAlgorithm.cc.

93 {
94  PANDORA_RETURN_RESULT_IF_AND_IF(
95  STATUS_CODE_SUCCESS, STATUS_CODE_NOT_FOUND, !=, XmlHelper::ReadValue(xmlHandle, "SlidingFitHalfWindow", m_slidingFitHalfWindow));
96 
97  PANDORA_RETURN_RESULT_IF_AND_IF(
98  STATUS_CODE_SUCCESS, STATUS_CODE_NOT_FOUND, !=, XmlHelper::ReadValue(xmlHandle, "MinClusterLength", m_minClusterLength));
99 
100  return ClusterSplittingAlgorithm::ReadSettings(xmlHandle);
101 }
virtual pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)

Member Data Documentation

float lar_content::TwoDSlidingFitSplittingAlgorithm::m_minClusterLength
protected

Definition at line 43 of file TwoDSlidingFitSplittingAlgorithm.h.

unsigned int lar_content::TwoDSlidingFitSplittingAlgorithm::m_slidingFitHalfWindow
protected

Definition at line 42 of file TwoDSlidingFitSplittingAlgorithm.h.


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