LArSoft  v06_85_00
Liquid Argon Software toolkit - http://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,
41  pandora::CartesianVector& splitPosition) const = 0;
42 
43  unsigned int m_slidingFitHalfWindow;
45 
46 private:
47  pandora::StatusCode DivideCaloHits(const pandora::Cluster *const pCluster, pandora::CaloHitList &firstCaloHitList,
48  pandora::CaloHitList &secondCaloHitList) const;
49 
60  pandora::StatusCode DivideCaloHits(const TwoDSlidingFitResult &slidingFitResult, const pandora::CartesianVector& splitPosition,
61  pandora::CaloHitList &firstCaloHitList, pandora::CaloHitList &secondCaloHitList) const;
62 };
63 
64 } // namespace lar_content
65 
66 #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.