8 #ifndef LAR_THREE_D_SLIDING_FIT_RESULT_H
9 #define LAR_THREE_D_SLIDING_FIT_RESULT_H 1
11 #include "Api/PandoraApi.h"
15 #include <unordered_map>
34 ThreeDSlidingFitResult(
const T *
const pT,
const unsigned int slidingFitWindow,
const float slidingFitLayerPitch);
153 pandora::StatusCode
GetGlobalFitPosition(
const float rL, pandora::CartesianVector &position)
const;
163 pandora::StatusCode
GetGlobalFitDirection(
const float rL, pandora::CartesianVector &direction)
const;
174 void GetGlobalPosition(
const float rL,
const float rT1,
const float rT2, pandora::CartesianVector &position)
const;
183 void GetGlobalDirection(
const float dTdL1,
const float dTdL2, pandora::CartesianVector &direction)
const;
193 static pandora::TrackState
GetPrimaryAxis(
const pandora::Cluster *
const pCluster,
const float slidingFitLayerPitch);
203 static pandora::TrackState
GetPrimaryAxis(
const pandora::CartesianPointVector *
const pPointVector,
const float slidingFitLayerPitch);
212 static pandora::CartesianVector
GetSeedDirection(
const pandora::CartesianVector &axisDirection);
292 #endif // #ifndef LAR_THREE_D_SLIDING_FIT_RESULT_H
const int m_maxLayer
The maximum combined layer.
const pandora::CartesianVector & GetAxisIntercept() const
Get the axis intercept position.
static pandora::TrackState GetPrimaryAxis(const pandora::Cluster *const pCluster, const float slidingFitLayerPitch)
Calculate the position and direction of the primary axis.
const TwoDSlidingFitResult & GetSecondFitResult() const
Get the second sliding fit result for this cluster.
std::vector< ThreeDSlidingFitResult > ThreeDSlidingFitResultList
const pandora::CartesianVector & GetGlobalMinLayerDirection() const
Get global direction corresponding to the fit result in minimum fit layer.
const pandora::TrackState m_primaryAxis
The primary axis position and direction.
int GetMaxLayer() const
Get the maximum occupied layer in the sliding fit.
static pandora::CartesianVector GetSeedDirection(const pandora::CartesianVector &axisDirection)
Generate a seed vector to be used in calculating the orthogonal axes.
float GetMaxLayerRms() const
Get rms at maximum layer.
float GetMinLayerRms() const
Get rms at minimum layer.
float GetLongitudinalDisplacement(const pandora::CartesianVector &position) const
Get longitudinal projection onto primary axis.
pandora::CartesianVector m_maxLayerPosition
The global position at the maximum combined layer.
void GetGlobalDirection(const float dTdL1, const float dTdL2, pandora::CartesianVector &direction) const
Get global direction coordinates for a given pair of sliding linear fit gradients.
pandora::CartesianVector m_minLayerPosition
The global position at the minimum combined layer.
const int m_minLayer
The minimum combined layer.
const pandora::CartesianVector & GetAxisDirection() const
Get the axis direction vector.
std::unordered_map< const pandora::Cluster *, ThreeDSlidingFitResult > ThreeDSlidingFitResultMap
const pandora::CartesianVector m_axisIntercept
The axis intercept position.
const TwoDSlidingFitResult m_secondFitResult
The second sliding fit result.
const pandora::CartesianVector & GetGlobalMaxLayerDirection() const
Get global direction corresponding to the fit result in maximum fit layer.
const TwoDSlidingFitResult m_firstFitResult
The first sliding fit result.
Header file for the lar two dimensional sliding fit result class.
pandora::StatusCode GetGlobalFitDirection(const float rL, pandora::CartesianVector &direction) const
Get global fit direction for a given longitudinal coordinate.
const pandora::CartesianVector m_secondOrthoDirection
The orthogonal direction vector.
int GetMinLayer() const
Get the minimum occupied layer in the sliding fit.
const pandora::CartesianVector & GetGlobalMaxLayerPosition() const
Get global position corresponding to the fit result in maximum fit layer.
const pandora::CartesianVector m_firstOrthoDirection
The orthogonal direction vector.
void GetGlobalPosition(const float rL, const float rT1, const float rT2, pandora::CartesianVector &position) const
Get global coordinates for a given pair of sliding linear fit coordinates.
float GetFitRms(const float rL) const
Get fit rms for a given longitudinal coordinate.
ThreeDSlidingFitResult class.
const TwoDSlidingFitResult & GetFirstFitResult() const
Get the first sliding fit result for this cluster.
pandora::CartesianVector m_minLayerDirection
The global direction at the minimum combined layer.
pandora::CartesianVector m_maxLayerDirection
The global direction at the maximum combined layer.
pandora::StatusCode GetGlobalFitPosition(const float rL, pandora::CartesianVector &position) const
Get global fit position for a given longitudinal coordinate.
const pandora::CartesianVector m_axisDirection
The axis direction vector.
const pandora::Cluster * GetCluster() const
Get the address of the cluster.
ThreeDSlidingFitResult(const T *const pT, const unsigned int slidingFitWindow, const float slidingFitLayerPitch)
Constructor.
TwoDSlidingFitResult class.
const pandora::CartesianVector & GetGlobalMinLayerPosition() const
Get global position corresponding to the fit result in minimum fit layer.