LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
TwoDSlidingFitSplittingAlgorithm.h
Go to the documentation of this file.
1 
8 #ifndef LAR_TWO_D_SLIDING_FIT_SPLITTING_ALGORITHM_H
9 #define LAR_TWO_D_SLIDING_FIT_SPLITTING_ALGORITHM_H 1
10 
12 
14 
15 namespace lar_content
16 {
17 
22 {
23 public:
28 
29 protected:
30  virtual pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
31 
40  virtual pandora::StatusCode FindBestSplitPosition(const TwoDSlidingFitResult &slidingFitResult, pandora::CartesianVector &splitPosition) const = 0;
41 
42  unsigned int m_slidingFitHalfWindow;
44 
45 private:
46  pandora::StatusCode DivideCaloHits(
47  const pandora::Cluster *const pCluster, pandora::CaloHitList &firstCaloHitList, pandora::CaloHitList &secondCaloHitList) const;
48 
59  pandora::StatusCode DivideCaloHits(const TwoDSlidingFitResult &slidingFitResult, const pandora::CartesianVector &splitPosition,
60  pandora::CaloHitList &firstCaloHitList, pandora::CaloHitList &secondCaloHitList) const;
61 };
62 
63 } // namespace lar_content
64 
65 #endif // #ifndef LAR_TWO_D_SLIDING_FIT_SPLITTING_ALGORITHM_H
Header file for the cluster splitting algorithm class.
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.
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...
Header file for the lar two dimensional sliding fit result class.