LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
HitCreationBaseTool.h
Go to the documentation of this file.
1 
8 #ifndef LAR_HIT_CREATION_BASE_TOOL_H
9 #define LAR_HIT_CREATION_BASE_TOOL_H 1
10 
11 #include "Pandora/AlgorithmTool.h"
12 
14 
15 namespace lar_content
16 {
17 
21 class HitCreationBaseTool : public pandora::AlgorithmTool
22 {
23 public:
27 
32 
36  virtual ~HitCreationBaseTool();
37 
46  virtual void Run(ThreeDHitCreationAlgorithm *const pAlgorithm, const pandora::ParticleFlowObject *const pPfo,
47  const pandora::CaloHitVector &inputTwoDHits, ProtoHitVector &protoHitVector) = 0;
48 
49 protected:
59  virtual void GetBestPosition3D(const pandora::HitType hitType1, const pandora::HitType hitType2,
60  const pandora::CartesianPointVector &fitPositionList1, const pandora::CartesianPointVector &fitPositionList2, ProtoHit &protoHit) const;
61 
71  virtual void GetBestPosition3D(const pandora::HitType hitType1, const pandora::HitType hitType2,
72  const pandora::CartesianVector &fitPosition1, const pandora::CartesianVector &fitPosition2, ProtoHit &protoHit) const;
73 
81  virtual void GetBestPosition3D(const pandora::HitType hitType, const pandora::CartesianVector &fitPosition, ProtoHit &protoHit) const;
82 
83  virtual pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
84 
85  double m_sigmaX2;
86  double m_chiSquaredCut;
87 };
88 
89 } // namespace lar_content
90 
91 #endif // #ifndef LAR_HIT_CREATION_BASE_TOOL_H
ThreeDHitCreationAlgorithm::ProtoHit ProtoHit
Proto hits are temporary constructs to be used during iterative 3D hit procedure. ...
double m_sigmaX2
The sigmaX squared value, for calculation of chi2 deltaX term.
ThreeDHitCreationAlgorithm::ProtoHitVector ProtoHitVector
ThreeDHitCreationAlgorithm::TrajectorySample TrajectorySample
double m_chiSquaredCut
The chi squared cut (accept only values below the cut value)
Header file for the three dimensional hit creation algorithm class.
HitCreationBaseTool()
Default constructor.
virtual void GetBestPosition3D(const pandora::HitType hitType1, const pandora::HitType hitType2, const pandora::CartesianPointVector &fitPositionList1, const pandora::CartesianPointVector &fitPositionList2, ProtoHit &protoHit) const
Get the three dimensional position using a provided two dimensional calo hit and candidate fit positi...
virtual void Run(ThreeDHitCreationAlgorithm *const pAlgorithm, const pandora::ParticleFlowObject *const pPfo, const pandora::CaloHitVector &inputTwoDHits, ProtoHitVector &protoHitVector)=0
Run the algorithm tool.
HitType
Definition: HitType.h:12
HitCreationBaseTool class.
Trajectory samples record the results of sampling a particles in a particular view.
ThreeDHitCreationAlgorithm::Algorithm class.
virtual ~HitCreationBaseTool()
Destructor.
virtual pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)