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

LArGeometryHelper class. More...

#include "LArGeometryHelper.h"

Public Types

typedef std::set< unsigned int > UIntSet
 

Static Public Member Functions

static float MergeTwoPositions (const pandora::Pandora &pandora, const pandora::HitType view1, const pandora::HitType view2, const float position1, const float position2)
 Merge two views (U,V) to give a third view (Z).
 
static pandora::CartesianVector MergeTwoDirections (const pandora::Pandora &pandora, const pandora::HitType view1, const pandora::HitType view2, const pandora::CartesianVector &direction1, const pandora::CartesianVector &direction2)
 Merge two views (U,V) to give a third view (Z).
 
static void MergeTwoPositions (const pandora::Pandora &pandora, const pandora::HitType view1, const pandora::HitType view2, const pandora::CartesianVector &position1, const pandora::CartesianVector &position2, pandora::CartesianVector &position3, float &chiSquared)
 Merge 2D positions from two views to give 2D position in third view.
 
static void MergeTwoPositions (const pandora::Pandora &pandora, const pandora::HitType view1, const pandora::HitType view2, const pandora::CartesianVector &position1, const pandora::CartesianVector &position2, pandora::CartesianVector &outputU, pandora::CartesianVector &outputV, pandora::CartesianVector &outputW, float &chiSquared)
 Merge 2D positions from two views to give 2D position in third view.
 
static void MergeThreePositions (const pandora::Pandora &pandora, const pandora::HitType view1, const pandora::HitType view2, const pandora::HitType view3, const pandora::CartesianVector &position1, const pandora::CartesianVector &position2, const pandora::CartesianVector &position3, pandora::CartesianVector &outputU, pandora::CartesianVector &outputV, pandora::CartesianVector &outputW, float &chiSquared)
 Merge 2D positions from three views to give unified 2D positions for each view.
 
static void MergeThreePositions (const pandora::Pandora &pandora, const pandora::CartesianVector &positionU, const pandora::CartesianVector &positionV, const pandora::CartesianVector &positionW, pandora::CartesianVector &outputU, pandora::CartesianVector &outputV, pandora::CartesianVector &outputW, float &chiSquared)
 Merge 2D positions from three views to give unified 2D positions for each view.
 
static void MergeTwoPositions3D (const pandora::Pandora &pandora, const pandora::HitType view1, const pandora::HitType view2, const pandora::CartesianVector &position1, const pandora::CartesianVector &position2, pandora::CartesianVector &position3D, float &chiSquared)
 Merge 2D positions from two views to give unified 3D position.
 
static void MergeThreePositions3D (const pandora::Pandora &pandora, const pandora::HitType view1, const pandora::HitType view2, const pandora::HitType view3, const pandora::CartesianVector &position1, const pandora::CartesianVector &position2, const pandora::CartesianVector &position3, pandora::CartesianVector &position3D, float &chiSquared)
 Merge 2D positions from three views to give unified 3D position.
 
static pandora::CartesianVector ProjectPosition (const pandora::Pandora &pandora, const pandora::CartesianVector &position3D, const pandora::HitType view)
 Project 3D position into a given 2D view.
 
static pandora::CartesianVector ProjectDirection (const pandora::Pandora &pandora, const pandora::CartesianVector &direction3D, const pandora::HitType view)
 Project 3D direction into a given 2D view.
 
static float GetWireZPitch (const pandora::Pandora &pandora, const float maxWirePitchDiscrepancy=0.01)
 Return the wire pitch.
 
static float GetWirePitch (const pandora::Pandora &pandora, const pandora::HitType view, const float maxWirePitchDiscrepancy=0.01)
 Return the wire pitch.
 
static pandora::CartesianVector GetWireAxis (const pandora::Pandora &pandora, const pandora::HitType view)
 Return the wire axis (vector perpendicular to the wire direction and drift direction)
 
static bool IsInGap (const pandora::Pandora &pandora, const pandora::CartesianVector &testPoint2D, const pandora::HitType hitType, const float gapTolerance=0.f)
 Whether a 2D test point lies in a registered gap with the associated hit type.
 
static bool IsInGap3D (const pandora::Pandora &pandora, const pandora::CartesianVector &testPoint3D, const pandora::HitType hitType, const float gapTolerance=0.f)
 Whether a 3D test point lies in a registered gap with the associated hit type.
 
static bool IsXSamplingPointInGap (const pandora::Pandora &pandora, const float xSample, const TwoDSlidingFitResult &slidingFitResult, const float gapTolerance=0.f)
 Whether there is a gap in a cluster (described via its sliding fit result) at a specified x sampling position.
 
static float CalculateGapDeltaZ (const pandora::Pandora &pandora, const float minZ, const float maxZ, const pandora::HitType hitType)
 Calculate the total distance within a given 2D region that is composed of detector gaps.
 
static float GetSigmaUVW (const pandora::Pandora &pandora, const float maxSigmaDiscrepancy=0.01)
 Find the sigmaUVW value for the detector geometry.
 
static void GetCommonDaughterVolumes (const pandora::Cluster *const pCluster1, const pandora::Cluster *const pCluster2, UIntSet &intersect)
 Return the set of common daughter volumes between two 2D clusters.
 

Detailed Description

LArGeometryHelper class.

Definition at line 33 of file LArGeometryHelper.h.

Member Typedef Documentation

◆ UIntSet

typedef std::set<unsigned int> lar_content::LArGeometryHelper::UIntSet

Definition at line 36 of file LArGeometryHelper.h.

Member Function Documentation

◆ CalculateGapDeltaZ()

float lar_content::LArGeometryHelper::CalculateGapDeltaZ ( const pandora::Pandora pandora,
const float  minZ,
const float  maxZ,
const pandora::HitType  hitType 
)
static

Calculate the total distance within a given 2D region that is composed of detector gaps.

Parameters
pandorathe associated pandora instance
minZthe start position in Z
maxZthe end position in Z
hitTypethe hit type

Definition at line 509 of file LArGeometryHelper.cc.

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

◆ GetCommonDaughterVolumes()

void lar_content::LArGeometryHelper::GetCommonDaughterVolumes ( const pandora::Cluster *const  pCluster1,
const pandora::Cluster *const  pCluster2,
UIntSet intersect 
)
static

Return the set of common daughter volumes between two 2D clusters.

Parameters
intersectthe set of shared daughter volumes
pCluster1the first cluster
pCluster2the second cluster

Definition at line 436 of file LArGeometryHelper.cc.

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

◆ GetSigmaUVW()

float lar_content::LArGeometryHelper::GetSigmaUVW ( const pandora::Pandora pandora,
const float  maxSigmaDiscrepancy = 0.01 
)
static

Find the sigmaUVW value for the detector geometry.

Parameters
pandorathe associated pandora instance
maxSigmaDiscrepancymaximum allowed discrepancy between lar tpc sigmaUVW values

Definition at line 546 of file LArGeometryHelper.cc.

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

◆ GetWireAxis()

CartesianVector lar_content::LArGeometryHelper::GetWireAxis ( const pandora::Pandora pandora,
const pandora::HitType  view 
)
static

Return the wire axis (vector perpendicular to the wire direction and drift direction)

Parameters
pandorathe associated pandora instance
viewthe 2D projection

Definition at line 411 of file LArGeometryHelper.cc.

◆ GetWirePitch()

float lar_content::LArGeometryHelper::GetWirePitch ( const pandora::Pandora pandora,
const pandora::HitType  view,
const float  maxWirePitchDiscrepancy = 0.01 
)
static

Return the wire pitch.

Parameters
pandorathe associated pandora instance
viewthe 2D projection
maxWirePitchDiscrepancymaximum allowed discrepancy between lar tpc wire pitch values

Definition at line 376 of file LArGeometryHelper.cc.

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

◆ GetWireZPitch()

float lar_content::LArGeometryHelper::GetWireZPitch ( const pandora::Pandora pandora,
const float  maxWirePitchDiscrepancy = 0.01 
)
inlinestatic

Return the wire pitch.

Parameters
pandorathe associated pandora instance
maxWirePitchDiscrepancymaximum allowed discrepancy between lar tpc wire pitch value in the w view

Definition at line 273 of file LArGeometryHelper.h.

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

◆ IsInGap()

bool lar_content::LArGeometryHelper::IsInGap ( const pandora::Pandora pandora,
const pandora::CartesianVector testPoint2D,
const pandora::HitType  hitType,
const float  gapTolerance = 0.f 
)
static

Whether a 2D test point lies in a registered gap with the associated hit type.

Parameters
pandorathe associated pandora instance
testPointthe test point
hitTypethe hit type
gapTolerancethe gap tolerance
Returns
boolean

Definition at line 449 of file LArGeometryHelper.cc.

Here is the caller graph for this function:

◆ IsInGap3D()

bool lar_content::LArGeometryHelper::IsInGap3D ( const pandora::Pandora pandora,
const pandora::CartesianVector testPoint3D,
const pandora::HitType  hitType,
const float  gapTolerance = 0.f 
)
static

Whether a 3D test point lies in a registered gap with the associated hit type.

Parameters
pandorathe associated pandora instance
testPointthe test point
hitTypethe hit type
gapTolerancethe gap tolerance
Returns
boolean

Definition at line 463 of file LArGeometryHelper.cc.

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

◆ IsXSamplingPointInGap()

bool lar_content::LArGeometryHelper::IsXSamplingPointInGap ( const pandora::Pandora pandora,
const float  xSample,
const TwoDSlidingFitResult slidingFitResult,
const float  gapTolerance = 0.f 
)
static

Whether there is a gap in a cluster (described via its sliding fit result) at a specified x sampling position.

Parameters
pandorathe associated pandora instance
xSamplethe x sampling position
slidingFitResultthe sliding fit result for a cluster
gapTolerancethe gap tolerance
Returns
boolean

Definition at line 471 of file LArGeometryHelper.cc.

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

◆ MergeThreePositions() [1/2]

void lar_content::LArGeometryHelper::MergeThreePositions ( const pandora::Pandora pandora,
const pandora::CartesianVector positionU,
const pandora::CartesianVector positionV,
const pandora::CartesianVector positionW,
pandora::CartesianVector outputU,
pandora::CartesianVector outputV,
pandora::CartesianVector outputW,
float &  chiSquared 
)
static

Merge 2D positions from three views to give unified 2D positions for each view.

Parameters
pandorathe associated pandora instance
positionUinput position in the U view
positionVinput position in the V view
positionWinput position in the W view
positionUoutput position in the U view
positionVoutput position in the V view
positionWoutput position in the W view
chi-squared

Definition at line 262 of file LArGeometryHelper.cc.

Here is the call graph for this function:

◆ MergeThreePositions() [2/2]

void lar_content::LArGeometryHelper::MergeThreePositions ( const pandora::Pandora pandora,
const pandora::HitType  view1,
const pandora::HitType  view2,
const pandora::HitType  view3,
const pandora::CartesianVector position1,
const pandora::CartesianVector position2,
const pandora::CartesianVector position3,
pandora::CartesianVector outputU,
pandora::CartesianVector outputV,
pandora::CartesianVector outputW,
float &  chiSquared 
)
static

Merge 2D positions from three views to give unified 2D positions for each view.

Parameters
pandorathe associated pandora instance
view1the first view
view2the second view
view3the third view
position1the position in the first view
position2the position in the second view
position3the position in the third view
positionUoutput position in the U view
positionVoutput position in the V view
positionWoutput position in the W view
chi-squared

Definition at line 220 of file LArGeometryHelper.cc.

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

◆ MergeThreePositions3D()

void lar_content::LArGeometryHelper::MergeThreePositions3D ( const pandora::Pandora pandora,
const pandora::HitType  view1,
const pandora::HitType  view2,
const pandora::HitType  view3,
const pandora::CartesianVector position1,
const pandora::CartesianVector position2,
const pandora::CartesianVector position3,
pandora::CartesianVector position3D,
float &  chiSquared 
)
static

Merge 2D positions from three views to give unified 3D position.

Parameters
pandorathe associated pandora instance
view1the first view
view2the second view
view3the third view
position1the position in the first view
position2the position in the second view
position3the position in the third view
position3Doutput position in 3D
chi-squared

Definition at line 311 of file LArGeometryHelper.cc.

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

◆ MergeTwoDirections()

CartesianVector lar_content::LArGeometryHelper::MergeTwoDirections ( const pandora::Pandora pandora,
const pandora::HitType  view1,
const pandora::HitType  view2,
const pandora::CartesianVector direction1,
const pandora::CartesianVector direction2 
)
static

Merge two views (U,V) to give a third view (Z).

Parameters
pandorathe associated pandora instance
view1the first view
view2the second view
direction1the direction in the first view
direction2the direction in the second view

Definition at line 71 of file LArGeometryHelper.cc.

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

◆ MergeTwoPositions() [1/3]

float lar_content::LArGeometryHelper::MergeTwoPositions ( const pandora::Pandora pandora,
const pandora::HitType  view1,
const pandora::HitType  view2,
const float  position1,
const float  position2 
)
static

Merge two views (U,V) to give a third view (Z).

Parameters
pandorathe associated pandora instance
view1the first view
view2the second view
position1the position in the first view
position2the position in the second view

Definition at line 31 of file LArGeometryHelper.cc.

Here is the caller graph for this function:

◆ MergeTwoPositions() [2/3]

void lar_content::LArGeometryHelper::MergeTwoPositions ( const pandora::Pandora pandora,
const pandora::HitType  view1,
const pandora::HitType  view2,
const pandora::CartesianVector position1,
const pandora::CartesianVector position2,
pandora::CartesianVector outputU,
pandora::CartesianVector outputV,
pandora::CartesianVector outputW,
float &  chiSquared 
)
static

Merge 2D positions from two views to give 2D position in third view.

Parameters
view1the first view
view2the second view
position1the position in the first view
position2the position in the second view
positionUoutput position in the U view
positionVoutput position in the V view
positionWoutput position in the W view
chi-squared

Definition at line 159 of file LArGeometryHelper.cc.

Here is the call graph for this function:

◆ MergeTwoPositions() [3/3]

void lar_content::LArGeometryHelper::MergeTwoPositions ( const pandora::Pandora pandora,
const pandora::HitType  view1,
const pandora::HitType  view2,
const pandora::CartesianVector position1,
const pandora::CartesianVector position2,
pandora::CartesianVector position3,
float &  chiSquared 
)
static

Merge 2D positions from two views to give 2D position in third view.

Parameters
pandorathe associated pandora instance
view1the first view
view2the second view
position1the position in the first view
position2the position in the second view
position3output position in the third view
chi-squared

Definition at line 141 of file LArGeometryHelper.cc.

Here is the call graph for this function:

◆ MergeTwoPositions3D()

void lar_content::LArGeometryHelper::MergeTwoPositions3D ( const pandora::Pandora pandora,
const pandora::HitType  view1,
const pandora::HitType  view2,
const pandora::CartesianVector position1,
const pandora::CartesianVector position2,
pandora::CartesianVector position3D,
float &  chiSquared 
)
static

Merge 2D positions from two views to give unified 3D position.

Parameters
pandorathe associated pandora instance
view1the first view
view2the second view
position1the position in the first view
position2the position in the second view
position3Doutput position in 3D
chi-squared

Definition at line 299 of file LArGeometryHelper.cc.

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

◆ ProjectDirection()

CartesianVector lar_content::LArGeometryHelper::ProjectDirection ( const pandora::Pandora pandora,
const pandora::CartesianVector direction3D,
const pandora::HitType  view 
)
static

Project 3D direction into a given 2D view.

Parameters
pandorathe associated pandora instance
direction3Dthe direction in 3D
viewthe 2D projection

Definition at line 348 of file LArGeometryHelper.cc.

Here is the call graph for this function:

◆ ProjectPosition()

CartesianVector lar_content::LArGeometryHelper::ProjectPosition ( const pandora::Pandora pandora,
const pandora::CartesianVector position3D,
const pandora::HitType  view 
)
static

Project 3D position into a given 2D view.

Parameters
pandorathe associated pandora instance
position3Dthe position in 3D
viewthe 2D projection

Definition at line 323 of file LArGeometryHelper.cc.

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

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