Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
lar_content::TwoDSlidingFitResult Class Reference

TwoDSlidingFitResult class. More...

#include "LArTwoDSlidingFitResult.h"

Collaboration diagram for lar_content::TwoDSlidingFitResult:

Public Member Functions

template<typename T >
 TwoDSlidingFitResult (const T *const pT, const unsigned int layerFitHalfWindow, const float layerPitch, const float axisDeviationLimitForHitDivision=0.95f)
 Constructor using internal definition of primary axis.
 
template<typename T >
 TwoDSlidingFitResult (const T *const pT, const unsigned int layerFitHalfWindow, const float layerPitch, const pandora::CartesianVector &axisIntercept, const pandora::CartesianVector &axisDirection, const pandora::CartesianVector &orthoDirection, const float axisDeviationLimitForHitDivision=0.95f)
 Constructor using specified primary axis. The orthogonal axis must be perpendicular to the primary axis.
 
 TwoDSlidingFitResult (const unsigned int layerFitHalfWindow, const float layerPitch, const pandora::CartesianVector &axisIntercept, const pandora::CartesianVector &axisDirection, const pandora::CartesianVector &orthoDirection, const LayerFitContributionMap &layerFitContributionMap)
 Constructor using specified primary axis and layer fit contribution map. User is responsible for ensuring that z-pitch, axis intercept and axis direction agree with calculations used to fill the layer fit contribution map. The orthogonal axis must be perpendicular to the primary axis.
 
const pandora::ClusterGetCluster () const
 Get the address of the cluster, if originally provided.
 
unsigned int GetLayerFitHalfWindow () const
 Get the layer fit half window.
 
float GetLayerPitch () const
 Get the layer pitch, units cm.
 
const pandora::CartesianVectorGetAxisIntercept () const
 Get the axis intercept position.
 
const pandora::CartesianVectorGetAxisDirection () const
 Get the axis direction vector.
 
const pandora::CartesianVectorGetOrthoDirection () const
 Get the orthogonal direction vector.
 
const LayerFitResultMapGetLayerFitResultMap () const
 Get the layer fit result map.
 
const LayerFitContributionMapGetLayerFitContributionMap () const
 Get the layer fit contribution map.
 
const FitSegmentListGetFitSegmentList () const
 Get the fit segment list.
 
float GetLayerFitHalfWindowLength () const
 Get the layer fit half window length.
 
int GetMinLayer () const
 Get the minimum occupied layer in the sliding fit.
 
int GetMaxLayer () const
 Get the maximum occupied layer in the sliding fit.
 
void GetMinAndMaxX (float &minX, float &maxX) const
 Get the minimum and maximum x coordinates associated with the sliding fit.
 
void GetMinAndMaxZ (float &minZ, float &maxZ) const
 Get the minimum and maximum z coordinates associated with the sliding fit.
 
int GetLayer (const float rL) const
 Get layer number for given sliding linear fit longitudinal coordinate.
 
float GetL (const int layer) const
 Get longitudinal coordinate for a given sliding linear fit layer number.
 
void GetLocalPosition (const pandora::CartesianVector &position, float &rL, float &rT) const
 Get local sliding fit coordinates for a given global position.
 
void GetLocalDirection (const pandora::CartesianVector &direction, float &dTdL) const
 Get local sliding fit gradient for a given global direction.
 
void GetGlobalPosition (const float rL, const float rT, pandora::CartesianVector &position) const
 Get global coordinates for given sliding linear fit coordinates.
 
void GetGlobalDirection (const float dTdL, pandora::CartesianVector &direction) const
 Get global direction coordinates for given sliding linear fit gradient.
 
pandora::CartesianVector GetGlobalMinLayerPosition () const
 Get global position corresponding to the fit result in minimum fit layer.
 
pandora::CartesianVector GetGlobalMaxLayerPosition () const
 Get global position corresponding to the fit result in maximum fit layer.
 
pandora::CartesianVector GetGlobalMinLayerDirection () const
 Get global direction corresponding to the fit result in minimum fit layer.
 
pandora::CartesianVector GetGlobalMaxLayerDirection () const
 Get global direction corresponding to the fit result in maximum fit layer.
 
float GetMinLayerRms () const
 Get rms at minimum layer.
 
float GetMaxLayerRms () const
 Get rms at maximum layer.
 
float GetFitRms (const float rL) const
 Get fit rms for a given longitudinal coordinate.
 
float GetCosScatteringAngle (const float rL) const
 Get scattering angle for a given longitudinal coordinate.
 
pandora::StatusCode GetGlobalFitPosition (const float rL, pandora::CartesianVector &position) const
 Get global fit position for a given longitudinal coordinate.
 
pandora::StatusCode GetGlobalFitDirection (const float rL, pandora::CartesianVector &direction) const
 Get global fit direction for a given longitudinal coordinate.
 
pandora::StatusCode GetGlobalFitPositionAtX (const float x, pandora::CartesianVector &position) const
 Get global fit position for a given input x coordinate.
 
pandora::StatusCode GetGlobalFitDirectionAtX (const float x, pandora::CartesianVector &direction) const
 Get global fit direction for a given input x coordinate.
 
pandora::StatusCode GetGlobalFitProjection (const pandora::CartesianVector &inputPosition, pandora::CartesianVector &projectedPosition) const
 Get projected position on global fit for a given position vector.
 
pandora::StatusCode GetGlobalFitPositionListAtX (const float x, pandora::CartesianPointVector &positionList) const
 Get a list of projected positions for a given input x coordinate.
 
pandora::StatusCode GetTransverseProjection (const float x, const FitSegment &fitSegment, pandora::CartesianVector &position) const
 Get projected position for a given input x coordinate and fit segment.
 
pandora::StatusCode GetTransverseProjection (const float x, const FitSegment &fitSegment, pandora::CartesianVector &position, pandora::CartesianVector &direction) const
 Get projected position and direction for a given input x coordinate and fit segment.
 
pandora::StatusCode GetExtrapolatedPosition (const float rL, pandora::CartesianVector &position) const
 Get extrapolated position (beyond span) for a given input coordinate.
 
pandora::StatusCode GetExtrapolatedDirection (const float rL, pandora::CartesianVector &direction) const
 Get extrapolated direction (beyond span) for a given input coordinate.
 
pandora::StatusCode GetExtrapolatedPositionAtX (const float x, pandora::CartesianVector &position) const
 Get extrapolated position (beyond span) for a given input x coordinate.
 
const FitSegmentGetFitSegment (const float rL) const
 Get fit segment for a given longitudinal coordinate.
 
template<>
 TwoDSlidingFitResult (const Cluster *const pCluster, const unsigned int layerFitHalfWindow, const float layerPitch, const float axisDeviationLimitForHitDivision)
 
template<>
 TwoDSlidingFitResult (const CartesianPointVector *const pPointVector, const unsigned int layerFitHalfWindow, const float layerPitch, const float)
 
template<>
 TwoDSlidingFitResult (const Cluster *const pCluster, const unsigned int layerFitHalfWindow, const float layerPitch, const CartesianVector &axisIntercept, const CartesianVector &axisDirection, const CartesianVector &orthoDirection, const float axisDeviationLimitForHitDivision)
 
template<>
 TwoDSlidingFitResult (const CartesianPointVector *const pPointVector, const unsigned int layerFitHalfWindow, const float layerPitch, const CartesianVector &axisIntercept, const CartesianVector &axisDirection, const CartesianVector &orthoDirection, const float)
 

Private Member Functions

void CalculateAxes (const pandora::CartesianPointVector &coordinateVector, const float layerPitch)
 Calculate the longitudinal and transverse axes.
 
void FillLayerFitContributionMap (const pandora::CartesianPointVector &coordinateVector)
 Fill the layer fit contribution map.
 
void PerformSlidingLinearFit ()
 Perform the sliding linear fit.
 
void FindSlidingFitSegments ()
 Find sliding fit segments; sections with tramsverse direction.
 
void GetMinAndMaxCoordinate (const bool isX, float &min, float &max) const
 Get the minimum and maximum x or z coordinates associated with the sliding fit.
 
pandora::CartesianVector GetGlobalFitPosition (const LayerInterpolation &layerInterpolation) const
 Interpolate a position between two layers.
 
pandora::CartesianVector GetGlobalFitDirection (const LayerInterpolation &layerInterpolation) const
 Interpolate a direction between two layers.
 
float GetFitRms (const LayerInterpolation &layerInterpolation) const
 Interpolate a rms between two layers.
 
pandora::StatusCode LongitudinalInterpolation (const float rL, LayerInterpolation &layerInterpolation) const
 Get the pair of layers surrounding a specified longitudinal position.
 
pandora::StatusCode TransverseInterpolation (const float x, const FitSegment &fitSegment, LayerInterpolation &layerInterpolation) const
 Get the surrounding pair of layers for a specified transverse position and fit segment.
 
pandora::StatusCode TransverseInterpolation (const float x, LayerInterpolationList &layerInterpolationList) const
 Get the a list of surrounding layer pairs for a specified transverse position.
 
pandora::StatusCode GetLongitudinalSurroundingLayers (const float rL, LayerFitResultMap::const_iterator &firstLayerIter, LayerFitResultMap::const_iterator &secondLayerIter) const
 Get iterators for layers surrounding the specified longitudinal position.
 
pandora::StatusCode GetTransverseSurroundingLayers (const float x, const int minLayer, const int maxLayer, LayerFitResultMap::const_iterator &firstLayerIter, LayerFitResultMap::const_iterator &secondLayerIter) const
 Get iterators for layers surrounding a specified transverse position.
 
void GetLongitudinalInterpolationWeights (const float rL, const LayerFitResultMap::const_iterator &firstLayerIter, const LayerFitResultMap::const_iterator &secondLayerIter, double &firstWeight, double &secondWeight) const
 Get interpolation weights for layers surrounding a specified longitudinal position.
 
void GetTransverseInterpolationWeights (const float x, const LayerFitResultMap::const_iterator &firstLayerIter, const LayerFitResultMap::const_iterator &secondLayerIter, double &firstWeight, double &secondWeight) const
 Get interpolation weights for layers surrounding a specified transverse position.
 

Private Attributes

const pandora::Clusterm_pCluster
 The address of the cluster.
 
unsigned int m_layerFitHalfWindow
 The layer fit half window.
 
float m_layerPitch
 The layer pitch, units cm.
 
pandora::CartesianVector m_axisIntercept
 The axis intercept position.
 
pandora::CartesianVector m_axisDirection
 The axis direction vector.
 
pandora::CartesianVector m_orthoDirection
 The orthogonal direction vector.
 
LayerFitResultMap m_layerFitResultMap
 The layer fit result map.
 
LayerFitContributionMap m_layerFitContributionMap
 The layer fit contribution map.
 
FitSegmentList m_fitSegmentList
 The fit segment list.
 

Detailed Description

TwoDSlidingFitResult class.

Definition at line 23 of file LArTwoDSlidingFitResult.h.

Constructor & Destructor Documentation

◆ TwoDSlidingFitResult() [1/7]

template<typename T >
lar_content::TwoDSlidingFitResult::TwoDSlidingFitResult ( const T *const  pT,
const unsigned int  layerFitHalfWindow,
const float  layerPitch,
const float  axisDeviationLimitForHitDivision = 0.95f 
)

Constructor using internal definition of primary axis.

Parameters
pTdescribing the positions to be fitted
layerFitHalfWindowthe layer fit half window
layerPitchthe layer pitch, units cm
axisDeviationLimitForHitDivisionthe value of the cosine of the opening angle between the principal axis and xAxis, above which cluster hits are broken into their constituent hits - only used with cluster input

◆ TwoDSlidingFitResult() [2/7]

template<typename T >
lar_content::TwoDSlidingFitResult::TwoDSlidingFitResult ( const T *const  pT,
const unsigned int  layerFitHalfWindow,
const float  layerPitch,
const pandora::CartesianVector axisIntercept,
const pandora::CartesianVector axisDirection,
const pandora::CartesianVector orthoDirection,
const float  axisDeviationLimitForHitDivision = 0.95f 
)

Constructor using specified primary axis. The orthogonal axis must be perpendicular to the primary axis.

Parameters
pTdescribing the positions to be fitted
layerFitHalfWindowthe layer fit half window
layerPitchthe layer pitch, units cm
axisInterceptthe axis intercept position
axisDirectionthe axis direction vector
orthoDirectionthe orthogonal direction vector
axisDeviationLimitForHitDivisionthe value of the cosine of the opening angle between the principal axis and xAxis, above which cluster hits are broken into their constituent hits - only used with cluster input

◆ TwoDSlidingFitResult() [3/7]

lar_content::TwoDSlidingFitResult::TwoDSlidingFitResult ( const unsigned int  layerFitHalfWindow,
const float  layerPitch,
const pandora::CartesianVector axisIntercept,
const pandora::CartesianVector axisDirection,
const pandora::CartesianVector orthoDirection,
const LayerFitContributionMap layerFitContributionMap 
)

Constructor using specified primary axis and layer fit contribution map. User is responsible for ensuring that z-pitch, axis intercept and axis direction agree with calculations used to fill the layer fit contribution map. The orthogonal axis must be perpendicular to the primary axis.

Parameters
layerFitHalfWindowthe layer fit half window
layerPitchthe layer pitch, units cm
axisInterceptthe axis intercept position
axisDirectionthe axis direction vector
orthoDirectionthe orthogonal direction vector
layerFitContributionMapthe layer fit contribution map

Definition at line 127 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:

◆ TwoDSlidingFitResult() [4/7]

template<>
lar_content::TwoDSlidingFitResult::TwoDSlidingFitResult ( const Cluster *const  pCluster,
const unsigned int  layerFitHalfWindow,
const float  layerPitch,
const float  axisDeviationLimitForHitDivision 
)

Definition at line 26 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:

◆ TwoDSlidingFitResult() [5/7]

template<>
lar_content::TwoDSlidingFitResult::TwoDSlidingFitResult ( const CartesianPointVector *const  pPointVector,
const unsigned int  layerFitHalfWindow,
const float  layerPitch,
const float   
)

Definition at line 60 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:

◆ TwoDSlidingFitResult() [6/7]

template<>
lar_content::TwoDSlidingFitResult::TwoDSlidingFitResult ( const Cluster *const  pCluster,
const unsigned int  layerFitHalfWindow,
const float  layerPitch,
const CartesianVector axisIntercept,
const CartesianVector axisDirection,
const CartesianVector orthoDirection,
const float  axisDeviationLimitForHitDivision 
)

Definition at line 78 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:

◆ TwoDSlidingFitResult() [7/7]

template<>
lar_content::TwoDSlidingFitResult::TwoDSlidingFitResult ( const CartesianPointVector *const  pPointVector,
const unsigned int  layerFitHalfWindow,
const float  layerPitch,
const CartesianVector axisIntercept,
const CartesianVector axisDirection,
const CartesianVector orthoDirection,
const float   
)

Definition at line 110 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:

Member Function Documentation

◆ CalculateAxes()

void lar_content::TwoDSlidingFitResult::CalculateAxes ( const pandora::CartesianPointVector coordinateVector,
const float  layerPitch 
)
private

Calculate the longitudinal and transverse axes.

Definition at line 588 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FillLayerFitContributionMap()

void lar_content::TwoDSlidingFitResult::FillLayerFitContributionMap ( const pandora::CartesianPointVector coordinateVector)
private

Fill the layer fit contribution map.

Definition at line 621 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FindSlidingFitSegments()

void lar_content::TwoDSlidingFitResult::FindSlidingFitSegments ( )
private

Find sliding fit segments; sections with tramsverse direction.

Definition at line 744 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetAxisDirection()

const pandora::CartesianVector & lar_content::TwoDSlidingFitResult::GetAxisDirection ( ) const
inline

Get the axis direction vector.

Returns
the axis direction vector

Definition at line 577 of file LArTwoDSlidingFitResult.h.

Here is the caller graph for this function:

◆ GetAxisIntercept()

const pandora::CartesianVector & lar_content::TwoDSlidingFitResult::GetAxisIntercept ( ) const
inline

Get the axis intercept position.

Returns
the axis intercept position

Definition at line 570 of file LArTwoDSlidingFitResult.h.

Here is the caller graph for this function:

◆ GetCluster()

const pandora::Cluster * lar_content::TwoDSlidingFitResult::GetCluster ( ) const

Get the address of the cluster, if originally provided.

Returns
the address of the cluster
Exceptions
StatusCodeException

Definition at line 143 of file LArTwoDSlidingFitResult.cc.

Here is the caller graph for this function:

◆ GetCosScatteringAngle()

float lar_content::TwoDSlidingFitResult::GetCosScatteringAngle ( const float  rL) const

Get scattering angle for a given longitudinal coordinate.

Parameters
rLthe longitudinal coordinate

Definition at line 326 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetExtrapolatedDirection()

StatusCode lar_content::TwoDSlidingFitResult::GetExtrapolatedDirection ( const float  rL,
pandora::CartesianVector direction 
) const

Get extrapolated direction (beyond span) for a given input coordinate.

Parameters
rLthe input coordinate
positionthe extrapolated direction at these coordinates
Returns
status code, faster than throwing in regular use-cases

Definition at line 495 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:

◆ GetExtrapolatedPosition()

StatusCode lar_content::TwoDSlidingFitResult::GetExtrapolatedPosition ( const float  rL,
pandora::CartesianVector position 
) const

Get extrapolated position (beyond span) for a given input coordinate.

Parameters
rLthe input coordinate
positionthe extrapolated position at these coordinates
Returns
status code, faster than throwing in regular use-cases

Definition at line 466 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetExtrapolatedPositionAtX()

StatusCode lar_content::TwoDSlidingFitResult::GetExtrapolatedPositionAtX ( const float  x,
pandora::CartesianVector position 
) const

Get extrapolated position (beyond span) for a given input x coordinate.

Parameters
xthe input coordinate
positionthe extrapolated position at these coordinates
Returns
status code, faster than throwing in regular use-cases

Definition at line 524 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetFitRms() [1/2]

float lar_content::TwoDSlidingFitResult::GetFitRms ( const float  rL) const

Get fit rms for a given longitudinal coordinate.

Parameters
rLthe longitudinal coordinate
Returns
the fit rms

Definition at line 313 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetFitRms() [2/2]

float lar_content::TwoDSlidingFitResult::GetFitRms ( const LayerInterpolation layerInterpolation) const
private

Interpolate a rms between two layers.

Parameters
layerInterpolationthe pair of surrounding layers
Returns
the interpolated rms

Definition at line 876 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:

◆ GetFitSegment()

const FitSegment & lar_content::TwoDSlidingFitResult::GetFitSegment ( const float  rL) const

Get fit segment for a given longitudinal coordinate.

Parameters
rLthe longitudinal coordinate

Definition at line 570 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetFitSegmentList()

const FitSegmentList & lar_content::TwoDSlidingFitResult::GetFitSegmentList ( ) const
inline

Get the fit segment list.

Returns
the fit segment list

Definition at line 605 of file LArTwoDSlidingFitResult.h.

Here is the caller graph for this function:

◆ GetGlobalDirection()

void lar_content::TwoDSlidingFitResult::GetGlobalDirection ( const float  dTdL,
pandora::CartesianVector direction 
) const

Get global direction coordinates for given sliding linear fit gradient.

Parameters
dTdLthe transverse coordinate
directionto receive the direction cartesian vector

Definition at line 227 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetGlobalFitDirection() [1/2]

StatusCode lar_content::TwoDSlidingFitResult::GetGlobalFitDirection ( const float  rL,
pandora::CartesianVector direction 
) const

Get global fit direction for a given longitudinal coordinate.

Parameters
rLthe longitudinal coordinate
directionthe fitted direction at these coordinates
Returns
status code, faster than throwing in regular use-cases

Definition at line 361 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetGlobalFitDirection() [2/2]

CartesianVector lar_content::TwoDSlidingFitResult::GetGlobalFitDirection ( const LayerInterpolation layerInterpolation) const
private

Interpolate a direction between two layers.

Parameters
layerInterpolationthe pair of surrounding layers
Returns
the interpolated direction

Definition at line 848 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:

◆ GetGlobalFitDirectionAtX()

StatusCode lar_content::TwoDSlidingFitResult::GetGlobalFitDirectionAtX ( const float  x,
pandora::CartesianVector direction 
) const

Get global fit direction for a given input x coordinate.

Parameters
xthe input coordinate
directionthe fitted direction at these coordinates
Returns
status code, faster than throwing in regular use-cases

Definition at line 392 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetGlobalFitPosition() [1/2]

StatusCode lar_content::TwoDSlidingFitResult::GetGlobalFitPosition ( const float  rL,
pandora::CartesianVector position 
) const

Get global fit position for a given longitudinal coordinate.

Parameters
rLthe longitudinal coordinate
positionthe fitted position at these coordinates
Returns
status code, faster than throwing in regular use-cases

Definition at line 347 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetGlobalFitPosition() [2/2]

CartesianVector lar_content::TwoDSlidingFitResult::GetGlobalFitPosition ( const LayerInterpolation layerInterpolation) const
private

Interpolate a position between two layers.

Parameters
layerInterpolationthe pair of surrounding layers
Returns
the interpolated position

Definition at line 820 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:

◆ GetGlobalFitPositionAtX()

StatusCode lar_content::TwoDSlidingFitResult::GetGlobalFitPositionAtX ( const float  x,
pandora::CartesianVector position 
) const

Get global fit position for a given input x coordinate.

Parameters
xthe input coordinate
positionthe fitted position at these coordinates
Returns
status code, faster than throwing in regular use-cases

Definition at line 375 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetGlobalFitPositionListAtX()

StatusCode lar_content::TwoDSlidingFitResult::GetGlobalFitPositionListAtX ( const float  x,
pandora::CartesianPointVector positionList 
) const

Get a list of projected positions for a given input x coordinate.

Parameters
xthe input x coordinate
positionListthe output list of positions
Returns
status code, faster than throwing in regular use-cases

Definition at line 418 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetGlobalFitProjection()

StatusCode lar_content::TwoDSlidingFitResult::GetGlobalFitProjection ( const pandora::CartesianVector inputPosition,
pandora::CartesianVector projectedPosition 
) const

Get projected position on global fit for a given position vector.

Parameters
inputPositionthe input coordinate
projectedPositionthe projected position on the global fit for these coordinates
Returns
status code, faster than throwing in regular use-cases

Definition at line 409 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetGlobalMaxLayerDirection()

CartesianVector lar_content::TwoDSlidingFitResult::GetGlobalMaxLayerDirection ( ) const

Get global direction corresponding to the fit result in maximum fit layer.

Returns
the position

Definition at line 278 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetGlobalMaxLayerPosition()

CartesianVector lar_content::TwoDSlidingFitResult::GetGlobalMaxLayerPosition ( ) const

Get global position corresponding to the fit result in maximum fit layer.

Returns
the position

Definition at line 252 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetGlobalMinLayerDirection()

CartesianVector lar_content::TwoDSlidingFitResult::GetGlobalMinLayerDirection ( ) const

Get global direction corresponding to the fit result in minimum fit layer.

Returns
the position

Definition at line 265 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetGlobalMinLayerPosition()

CartesianVector lar_content::TwoDSlidingFitResult::GetGlobalMinLayerPosition ( ) const

Get global position corresponding to the fit result in minimum fit layer.

Returns
the position

Definition at line 239 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetGlobalPosition()

void lar_content::TwoDSlidingFitResult::GetGlobalPosition ( const float  rL,
const float  rT,
pandora::CartesianVector position 
) const

Get global coordinates for given sliding linear fit coordinates.

Parameters
rLthe longitudinal coordinate
rTthe transverse coordinate
positionto receive the position cartesian vector

Definition at line 220 of file LArTwoDSlidingFitResult.cc.

Here is the caller graph for this function:

◆ GetL()

float lar_content::TwoDSlidingFitResult::GetL ( const int  layer) const

Get longitudinal coordinate for a given sliding linear fit layer number.

Parameters
layerthe layer number

Definition at line 190 of file LArTwoDSlidingFitResult.cc.

Here is the caller graph for this function:

◆ GetLayer()

int lar_content::TwoDSlidingFitResult::GetLayer ( const float  rL) const

Get layer number for given sliding linear fit longitudinal coordinate.

Parameters
rLthe longitudinal coordinate

Definition at line 180 of file LArTwoDSlidingFitResult.cc.

Here is the caller graph for this function:

◆ GetLayerFitContributionMap()

const LayerFitContributionMap & lar_content::TwoDSlidingFitResult::GetLayerFitContributionMap ( ) const
inline

Get the layer fit contribution map.

Returns
the layer fit contribution map

Definition at line 598 of file LArTwoDSlidingFitResult.h.

Here is the caller graph for this function:

◆ GetLayerFitHalfWindow()

unsigned int lar_content::TwoDSlidingFitResult::GetLayerFitHalfWindow ( ) const
inline

Get the layer fit half window.

Returns
the layer fit half window

Definition at line 556 of file LArTwoDSlidingFitResult.h.

Here is the caller graph for this function:

◆ GetLayerFitHalfWindowLength()

float lar_content::TwoDSlidingFitResult::GetLayerFitHalfWindowLength ( ) const

Get the layer fit half window length.

Returns
the layer fit half window length

Definition at line 153 of file LArTwoDSlidingFitResult.cc.

Here is the caller graph for this function:

◆ GetLayerFitResultMap()

const LayerFitResultMap & lar_content::TwoDSlidingFitResult::GetLayerFitResultMap ( ) const
inline

Get the layer fit result map.

Returns
the layer fit result map

Definition at line 591 of file LArTwoDSlidingFitResult.h.

Here is the caller graph for this function:

◆ GetLayerPitch()

float lar_content::TwoDSlidingFitResult::GetLayerPitch ( ) const
inline

Get the layer pitch, units cm.

Returns
the layer pitch

Definition at line 563 of file LArTwoDSlidingFitResult.h.

Here is the caller graph for this function:

◆ GetLocalDirection()

void lar_content::TwoDSlidingFitResult::GetLocalDirection ( const pandora::CartesianVector direction,
float &  dTdL 
) const

Get local sliding fit gradient for a given global direction.

Parameters
directionthe direction cartesian vector
dTdLto receive the local gradient

Definition at line 207 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetLocalPosition()

void lar_content::TwoDSlidingFitResult::GetLocalPosition ( const pandora::CartesianVector position,
float &  rL,
float &  rT 
) const

Get local sliding fit coordinates for a given global position.

Parameters
positionthe position cartesian vector
rLto receive the longitudinal coordinate
rTto receive the transverse coordinate

Definition at line 197 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetLongitudinalInterpolationWeights()

void lar_content::TwoDSlidingFitResult::GetLongitudinalInterpolationWeights ( const float  rL,
const LayerFitResultMap::const_iterator &  firstLayerIter,
const LayerFitResultMap::const_iterator &  secondLayerIter,
double &  firstWeight,
double &  secondWeight 
) const
private

Get interpolation weights for layers surrounding a specified longitudinal position.

Parameters
rLthe longitudinal coordinate
firstLayerIterthe iterator for the layer below the input coordinate
secondLayerIterthe iterator for the layer above the input coordinate
firstWeightthe weight assigned to the layer below the input coordinate
secondWeightthe weight assigned to the layer above the input coordinate

Definition at line 1102 of file LArTwoDSlidingFitResult.cc.

Here is the caller graph for this function:

◆ GetLongitudinalSurroundingLayers()

StatusCode lar_content::TwoDSlidingFitResult::GetLongitudinalSurroundingLayers ( const float  rL,
LayerFitResultMap::const_iterator &  firstLayerIter,
LayerFitResultMap::const_iterator &  secondLayerIter 
) const
private

Get iterators for layers surrounding the specified longitudinal position.

Parameters
rLthe longitudinal coordinate
firstLayerIterto receive the iterator for the layer just below the input coordinate
secondLayerIterto receive the iterator for the layer just above the input coordinate
Returns
status code, faster than throwing in regular use-cases

Definition at line 961 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetMaxLayer()

int lar_content::TwoDSlidingFitResult::GetMaxLayer ( ) const

Get the maximum occupied layer in the sliding fit.

Parameters
themaximum occupied layer in the sliding fit

Definition at line 170 of file LArTwoDSlidingFitResult.cc.

Here is the caller graph for this function:

◆ GetMaxLayerRms()

float lar_content::TwoDSlidingFitResult::GetMaxLayerRms ( ) const

Get rms at maximum layer.

Returns
the rms

Definition at line 302 of file LArTwoDSlidingFitResult.cc.

Here is the caller graph for this function:

◆ GetMinAndMaxCoordinate()

void lar_content::TwoDSlidingFitResult::GetMinAndMaxCoordinate ( const bool  isX,
float &  min,
float &  max 
) const
private

Get the minimum and maximum x or z coordinates associated with the sliding fit.

Parameters
isXwhether to provide extremal x or z coordinates
toreceive the min coordinate value
toreceive the max coordinate value

Definition at line 800 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetMinAndMaxX()

void lar_content::TwoDSlidingFitResult::GetMinAndMaxX ( float &  minX,
float &  maxX 
) const
inline

Get the minimum and maximum x coordinates associated with the sliding fit.

Parameters
toreceive the min x value
toreceive the max x value

Definition at line 612 of file LArTwoDSlidingFitResult.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetMinAndMaxZ()

void lar_content::TwoDSlidingFitResult::GetMinAndMaxZ ( float &  minZ,
float &  maxZ 
) const
inline

Get the minimum and maximum z coordinates associated with the sliding fit.

Parameters
toreceive the min z value
toreceive the max z value

Definition at line 619 of file LArTwoDSlidingFitResult.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetMinLayer()

int lar_content::TwoDSlidingFitResult::GetMinLayer ( ) const

Get the minimum occupied layer in the sliding fit.

Parameters
theminimum occupied layer in the sliding fit

Definition at line 160 of file LArTwoDSlidingFitResult.cc.

Here is the caller graph for this function:

◆ GetMinLayerRms()

float lar_content::TwoDSlidingFitResult::GetMinLayerRms ( ) const

Get rms at minimum layer.

Returns
the rms

Definition at line 291 of file LArTwoDSlidingFitResult.cc.

Here is the caller graph for this function:

◆ GetOrthoDirection()

const pandora::CartesianVector & lar_content::TwoDSlidingFitResult::GetOrthoDirection ( ) const
inline

Get the orthogonal direction vector.

Returns
the orthogonal direction vector

Definition at line 584 of file LArTwoDSlidingFitResult.h.

Here is the caller graph for this function:

◆ GetTransverseInterpolationWeights()

void lar_content::TwoDSlidingFitResult::GetTransverseInterpolationWeights ( const float  x,
const LayerFitResultMap::const_iterator &  firstLayerIter,
const LayerFitResultMap::const_iterator &  secondLayerIter,
double &  firstWeight,
double &  secondWeight 
) const
private

Get interpolation weights for layers surrounding a specified transverse position.

Parameters
xthe transverse coordinate
firstLayerIterthe iterator for the layer below the input coordinate
secondLayerIterthe iterator for the layer above the input coordinate
firstWeightthe weight assigned to the layer below the input coordinate
firstWeightthe weight assigned to the layer above the input coordinate

Definition at line 1125 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetTransverseProjection() [1/2]

StatusCode lar_content::TwoDSlidingFitResult::GetTransverseProjection ( const float  x,
const FitSegment fitSegment,
pandora::CartesianVector position 
) const

Get projected position for a given input x coordinate and fit segment.

Parameters
xthe input x coordinate
fitSegmentthe portion of sliding linear fit
positionthe output position
Returns
status code, faster than throwing in regular use-cases

Definition at line 436 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetTransverseProjection() [2/2]

StatusCode lar_content::TwoDSlidingFitResult::GetTransverseProjection ( const float  x,
const FitSegment fitSegment,
pandora::CartesianVector position,
pandora::CartesianVector direction 
) const

Get projected position and direction for a given input x coordinate and fit segment.

Parameters
xthe input x coordinate
fitSegmentthe portion of sliding linear fit
positionthe output position
positionthe output direction
Returns
status code, faster than throwing in regular use-cases

Definition at line 450 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:

◆ GetTransverseSurroundingLayers()

StatusCode lar_content::TwoDSlidingFitResult::GetTransverseSurroundingLayers ( const float  x,
const int  minLayer,
const int  maxLayer,
LayerFitResultMap::const_iterator &  firstLayerIter,
LayerFitResultMap::const_iterator &  secondLayerIter 
) const
private

Get iterators for layers surrounding a specified transverse position.

Parameters
xthe transverse coordinate
minLayerthe minimum allowed layer
maxLayerthe maximum allowed layer
firstLayerIterto receive the iterator for the layer just below the input coordinate
secondLayerIterto receive the iterator for the layer just above the input coordinate
Returns
status code, faster than throwing in regular use-cases

Definition at line 1018 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LongitudinalInterpolation()

StatusCode lar_content::TwoDSlidingFitResult::LongitudinalInterpolation ( const float  rL,
LayerInterpolation layerInterpolation 
) const
private

Get the pair of layers surrounding a specified longitudinal position.

Parameters
rLthe longitudinal coordinate
layerInterpolationto receive the populated layer interpolation object
Returns
status code, faster than throwing in regular use-cases

Definition at line 902 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PerformSlidingLinearFit()

void lar_content::TwoDSlidingFitResult::PerformSlidingLinearFit ( )
private

Perform the sliding linear fit.

Definition at line 643 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TransverseInterpolation() [1/2]

StatusCode lar_content::TwoDSlidingFitResult::TransverseInterpolation ( const float  x,
const FitSegment fitSegment,
LayerInterpolation layerInterpolation 
) const
private

Get the surrounding pair of layers for a specified transverse position and fit segment.

Parameters
xthe input coordinate
fitSegmentthe fit segment
layerInterpolationto receive the populated layer interpolation object
Returns
status code, faster than throwing in regular use-cases

Definition at line 920 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TransverseInterpolation() [2/2]

StatusCode lar_content::TwoDSlidingFitResult::TransverseInterpolation ( const float  x,
LayerInterpolationList layerInterpolationList 
) const
private

Get the a list of surrounding layer pairs for a specified transverse position.

Parameters
xthe input coordinate
layerInterpolationListthe output list of layer interpolation objects
Returns
status code, faster than throwing in regular use-cases

Definition at line 939 of file LArTwoDSlidingFitResult.cc.

Here is the call graph for this function:

Member Data Documentation

◆ m_axisDirection

pandora::CartesianVector lar_content::TwoDSlidingFitResult::m_axisDirection
private

The axis direction vector.

Definition at line 543 of file LArTwoDSlidingFitResult.h.

◆ m_axisIntercept

pandora::CartesianVector lar_content::TwoDSlidingFitResult::m_axisIntercept
private

The axis intercept position.

Definition at line 542 of file LArTwoDSlidingFitResult.h.

◆ m_fitSegmentList

FitSegmentList lar_content::TwoDSlidingFitResult::m_fitSegmentList
private

The fit segment list.

Definition at line 547 of file LArTwoDSlidingFitResult.h.

◆ m_layerFitContributionMap

LayerFitContributionMap lar_content::TwoDSlidingFitResult::m_layerFitContributionMap
private

The layer fit contribution map.

Definition at line 546 of file LArTwoDSlidingFitResult.h.

◆ m_layerFitHalfWindow

unsigned int lar_content::TwoDSlidingFitResult::m_layerFitHalfWindow
private

The layer fit half window.

Definition at line 540 of file LArTwoDSlidingFitResult.h.

◆ m_layerFitResultMap

LayerFitResultMap lar_content::TwoDSlidingFitResult::m_layerFitResultMap
private

The layer fit result map.

Definition at line 545 of file LArTwoDSlidingFitResult.h.

◆ m_layerPitch

float lar_content::TwoDSlidingFitResult::m_layerPitch
private

The layer pitch, units cm.

Definition at line 541 of file LArTwoDSlidingFitResult.h.

◆ m_orthoDirection

pandora::CartesianVector lar_content::TwoDSlidingFitResult::m_orthoDirection
private

The orthogonal direction vector.

Definition at line 544 of file LArTwoDSlidingFitResult.h.

◆ m_pCluster

const pandora::Cluster* lar_content::TwoDSlidingFitResult::m_pCluster
private

The address of the cluster.

Definition at line 539 of file LArTwoDSlidingFitResult.h.


The documentation for this class was generated from the following files: