LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
TrackHitsBaseTool.h
Go to the documentation of this file.
1 
8 #ifndef TRACK_HITS_BASE_TOOL_H
9 #define TRACK_HITS_BASE_TOOL_H 1
10 
12 
14 
15 #include <unordered_map>
16 
17 namespace lar_content
18 {
19 
24 {
25 public:
30 
31  virtual void Run(ThreeDHitCreationAlgorithm *const pAlgorithm, const pandora::ParticleFlowObject *const pPfo,
32  const pandora::CaloHitVector &inputTwoDHits, ProtoHitVector &protoHitVector);
33 
34 protected:
35  typedef std::map<pandora::HitType, TwoDSlidingFitResult> MatchedSlidingFitMap;
36 
45  virtual void GetTrackHits3D(const pandora::CaloHitVector &inputTwoDHits, const MatchedSlidingFitMap &matchedSlidingFitMap,
46  ProtoHitVector &protoHitVector) const = 0;
47 
54  virtual void BuildSlidingFitMap(const pandora::ParticleFlowObject *const pPfo, MatchedSlidingFitMap &matchedSlidingFitMap) const;
55 
56  virtual pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
57 
58  unsigned int m_minViews;
59  unsigned int m_slidingFitWindow;
60 };
61 
62 } // namespace lar_content
63 
64 #endif // #ifndef TRACK_HITS_BASE_TOOL_H
virtual void GetTrackHits3D(const pandora::CaloHitVector &inputTwoDHits, const MatchedSlidingFitMap &matchedSlidingFitMap, ProtoHitVector &protoHitVector) const =0
Calculate 3D hits from an input list of 2D hits.
virtual pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
virtual void BuildSlidingFitMap(const pandora::ParticleFlowObject *const pPfo, MatchedSlidingFitMap &matchedSlidingFitMap) const
Calculate sliding fit results for clusters from each view.
std::map< pandora::HitType, TwoDSlidingFitResult > MatchedSlidingFitMap
TrackHitsBaseTool()
Default constructor.
ThreeDHitCreationAlgorithm::ProtoHitVector ProtoHitVector
Header file for the hit creation base tool.
Header file for the lar two dimensional sliding fit result class.
TrackHitsBaseTool class.
unsigned int m_slidingFitWindow
The layer window for the sliding linear fits.
HitCreationBaseTool class.
unsigned int m_minViews
The minimum number of views required for building hits.
ThreeDHitCreationAlgorithm::Algorithm class.
virtual void Run(ThreeDHitCreationAlgorithm *const pAlgorithm, const pandora::ParticleFlowObject *const pPfo, const pandora::CaloHitVector &inputTwoDHits, ProtoHitVector &protoHitVector)
Run the algorithm tool.