LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
ShowerHitsBaseTool.h
Go to the documentation of this file.
1 
8 #ifndef SHOWER_HITS_BASE_TOOL_H
9 #define SHOWER_HITS_BASE_TOOL_H 1
10 
12 
13 namespace lar_content
14 {
15 
20 {
21 public:
26 
27  virtual void Run(ThreeDHitCreationAlgorithm *const pAlgorithm, const pandora::ParticleFlowObject *const pPfo,
28  const pandora::CaloHitVector &inputTwoDHits, ProtoHitVector &protoHitVector);
29 
30 protected:
39  virtual void GetShowerHit3D(const pandora::CaloHitVector &caloHitVector1, const pandora::CaloHitVector &caloHitVector2, ProtoHit &protoHit) const = 0;
40 
50  virtual void GetShowerHits3D(const pandora::CaloHitVector &inputTwoDHits, const pandora::CaloHitVector &caloHitVector1,
51  const pandora::CaloHitVector &caloHitVector2, ProtoHitVector &protoHitVector) const;
52 
53  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
54 
55 private:
64  void FilterCaloHits(const float x, const float xTolerance, const pandora::CaloHitVector &inputCaloHitVector,
65  pandora::CaloHitVector &outputCaloHitVector) const;
66 
67  float m_xTolerance;
68 };
69 
70 } // namespace lar_content
71 
72 #endif // #ifndef SHOWER_HITS_BASE_TOOL_H
Float_t x
Definition: compare.C:6
Proto hits are temporary constructs to be used during iterative 3D hit procedure. ...
ThreeDHitCreationAlgorithm::ProtoHitVector ProtoHitVector
float m_xTolerance
The x tolerance to use when looking for associated calo hits between views.
void FilterCaloHits(const float x, const float xTolerance, const pandora::CaloHitVector &inputCaloHitVector, pandora::CaloHitVector &outputCaloHitVector) const
Filter a list of calo hits to find those within a specified tolerance of a give x position...
Header file for the hit creation base tool.
ShowerHitsBaseTool()
Default constructor.
virtual void GetShowerHit3D(const pandora::CaloHitVector &caloHitVector1, const pandora::CaloHitVector &caloHitVector2, ProtoHit &protoHit) const =0
Get the three dimensional position for to a two dimensional calo hit, using the hit and a list of can...
ShowerHitsBaseTool class.
virtual void GetShowerHits3D(const pandora::CaloHitVector &inputTwoDHits, const pandora::CaloHitVector &caloHitVector1, const pandora::CaloHitVector &caloHitVector2, ProtoHitVector &protoHitVector) const
Create three dimensional hits, using a list of input two dimensional hits and the hits (contained in ...
HitCreationBaseTool class.
ThreeDHitCreationAlgorithm::Algorithm class.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
virtual void Run(ThreeDHitCreationAlgorithm *const pAlgorithm, const pandora::ParticleFlowObject *const pPfo, const pandora::CaloHitVector &inputTwoDHits, ProtoHitVector &protoHitVector)
Run the algorithm tool.