LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
LongitudinalTrackHitsBaseTool.h
Go to the documentation of this file.
1 
8 #ifndef LONGITUDINAL_TRACK_HITS_BASE_TOOL_H
9 #define LONGITUDINAL_TRACK_HITS_BASE_TOOL_H 1
10 
12 
13 namespace lar_content
14 {
15 
20 {
21 public:
26 
27 protected:
36  virtual void GetLongitudinalTrackHit3D(const MatchedSlidingFitMap &matchedSlidingFitMap, const pandora::CartesianVector &vtx3D,
37  const pandora::CartesianVector &end3D, ProtoHit &protoHit) const = 0;
38 
39  virtual void GetTrackHits3D(
40  const pandora::CaloHitVector &inputTwoDHits, const MatchedSlidingFitMap &matchedSlidingFitMap, ProtoHitVector &protoHitVector) const;
41 
42  virtual pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
43 
44 private:
53  void GetVertexAndEndPositions(const MatchedSlidingFitMap &inputSlidingFitMap, MatchedSlidingFitMap &outputSlidingFitMap,
54  pandora::CartesianVector &outputVtx3D, pandora::CartesianVector &outputEnd3D) const;
55 
66  void UpdateBestPosition(const pandora::HitType hitType1, const pandora::HitType hitType2, const pandora::CartesianVector &vtx1,
67  const pandora::CartesianVector &vtx2, pandora::CartesianVector &bestVtx, float &bestChi2) const;
68 
71 };
72 
73 } // namespace lar_content
74 
75 #endif // #ifndef LONGITUDINAL_TRACK_HITS_BASE_TOOL_H
Proto hits are temporary constructs to be used during iterative 3D hit procedure. ...
std::map< pandora::HitType, TwoDSlidingFitResult > MatchedSlidingFitMap
virtual void GetLongitudinalTrackHit3D(const MatchedSlidingFitMap &matchedSlidingFitMap, const pandora::CartesianVector &vtx3D, const pandora::CartesianVector &end3D, ProtoHit &protoHit) const =0
Get the three dimensional position using a provided two dimensional calo hit and sliding linear fits ...
virtual void GetTrackHits3D(const pandora::CaloHitVector &inputTwoDHits, const MatchedSlidingFitMap &matchedSlidingFitMap, ProtoHitVector &protoHitVector) const
Calculate 3D hits from an input list of 2D hits.
ThreeDHitCreationAlgorithm::ProtoHitVector ProtoHitVector
virtual pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
void UpdateBestPosition(const pandora::HitType hitType1, const pandora::HitType hitType2, const pandora::CartesianVector &vtx1, const pandora::CartesianVector &vtx2, pandora::CartesianVector &bestVtx, float &bestChi2) const
Combine two 2D coordinates to give a 3D coordinate.
TrackHitsBaseTool class.
Header file for the track hits base tool.
void GetVertexAndEndPositions(const MatchedSlidingFitMap &inputSlidingFitMap, MatchedSlidingFitMap &outputSlidingFitMap, pandora::CartesianVector &outputVtx3D, pandora::CartesianVector &outputEnd3D) const
Get reconstructed vertex and end positions for this 3D track.
HitType
Definition: HitType.h:12