LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
#include "PmaNode3D.h"
Public Member Functions | |
Node3D () | |
Node3D (detinfo::DetectorPropertiesData const &detProp, const TVector3 &p3d, unsigned int tpc, unsigned int cryo, bool vtx=false, double xshift=0) | |
TVector3 const & | Point3D () const |
bool | SetPoint3D (const TVector3 &p3d) |
TVector2 const & | Projection2D (unsigned int view) const |
double | GetDistToWall () const |
bool | SameTPC (const TVector3 &p3d, float margin=0.0F) const |
Check if p3d is in the same TPC as the node. More... | |
bool | SameTPC (const pma::Vector3D &p3d, float margin=0.0F) const |
bool | IsBranching () const |
Belongs to more than one track? More... | |
bool | IsTPCEdge () const |
Is the first/last in this TPC? More... | |
bool | IsVertex () const |
Check fIsVertex flag. More... | |
void | SetVertex (bool state) |
void | SetVertexToBranching (bool setAllNodes) |
std::vector< pma::Track3D * > | GetBranches () const |
double | GetDistance2To (const TVector3 &p3d) const override |
Distance [cm] from the 3D point to the point 3D. More... | |
double | GetDistance2To (const TVector2 &p2d, unsigned int view) const override |
pma::Vector3D | GetDirection3D () const override |
TVector3 | GetUnconstrainedProj3D (const TVector2 &, unsigned int) const override |
In case of a node it is simply 3D position of the node. More... | |
void | SetProjection (pma::Hit3D &h) const override |
Set hit 3D position and its 2D projection to the vertex. More... | |
double | Length2 () const override |
double | SegmentCos () const |
Cosine of 3D angle between connected segments. More... | |
double | SegmentCosWirePlane () const |
double | SegmentCosTransverse () const |
double | GetObjFunction (float penaltyValue, float endSegWeight) const |
Objective function minimized during oprimization. More... | |
void | Optimize (float penaltyValue, float endSegWeight) |
void | ClearAssigned (pma::Track3D *trk=0) override |
void | ApplyDriftShift (double dx) |
double | GetDriftShift () const |
int | TPC (void) const |
TPC index or -1 if out of any TPC. More... | |
int | Cryo (void) const |
Cryostat index or -1 if out of any cryostat. More... | |
double | Length (void) const |
const std::vector< pma::Hit3D * > & | Hits (void) const |
bool | HasHit (const pma::Hit3D *h) const |
pma::Hit3D & | Hit (size_t index) |
void | RemoveHitAt (size_t index) |
void | AddHit (pma::Hit3D *h) |
size_t | NHits (void) const |
unsigned int | NHits (unsigned int view) const |
size_t | NEnabledHits (unsigned int view=geo::kUnknown) const |
size_t | NPrecalcEnabledHits (void) const |
TVector3 const & | ReferencePoint (size_t index) const |
size_t | NPoints (void) const |
void | AddPoint (TVector3 *p) |
void | UpdateHitParams (void) |
void | UpdateProjection (void) |
void | SortHits (void) |
double | SumDist2 (void) const |
double | SumDist2 (unsigned int view) const |
double | SumHitsQ (unsigned int view) const |
unsigned int | NThisHits (unsigned int view) const |
double | HitsRadius3D (unsigned int view) const |
bool | IsFrozen (void) const |
Check if the vertex 3D position is fixed. More... | |
void | SetFrozen (bool state) |
Fix / relese vertex 3D position. More... | |
bool | SelectRndHits (size_t nmax_per_view) |
bool | SelectAllHits (void) |
virtual void | Disconnect (void) |
virtual bool | AddNext (pma::SortedObjectBase *nextElement) |
virtual int | RemoveNext (pma::SortedObjectBase *nextElement) |
virtual pma::SortedObjectBase * | Next (unsigned int index=0) const |
virtual unsigned int | NextCount (void) const |
virtual bool | IsLast (void) const |
virtual bool | IsFirst (void) const |
virtual pma::SortedObjectBase * | Prev (void) const |
Static Public Member Functions | |
static void | SetMargin (double m) |
Set allowed node position margin around TPC. More... | |
static float | OptFactor (unsigned int view) |
static void | SetOptFactor (unsigned int view, float value) |
Protected Attributes | |
int | fTPC |
int | fCryo |
bool | fFrozen |
std::vector< pma::Hit3D * > | fAssignedHits |
std::vector< TVector3 * > | fAssignedPoints |
size_t | fNThisHits [3] |
size_t | fNThisHitsEnabledAll |
size_t | fNHits [3] |
double | fSumHitsQ [3] |
double | fHitsRadius |
std::vector< pma::SortedObjectBase * > | next_vector |
pma::SortedObjectBase * | next |
pma::SortedObjectBase * | prev |
Static Protected Attributes | |
static float | fOptFactors [3] = {0.2F, 0.8F, 1.0F} |
Private Member Functions | |
bool | LimitPoint3D () |
Returns true if node position was trimmed to its TPC volume + fMargin. More... | |
void | UpdateProj2D () |
double | EndPtCos2Transverse () const |
double | PiInWirePlane () const |
double | PenaltyInWirePlane () const |
double | Pi (float endSegWeight, bool doAsymm) const |
double | Penalty (float endSegWeight) const |
double | Mse () const |
double | MakeGradient (float penaltyValue, float endSegWeight) |
double | StepWithGradient (float alfa, float tol, float penalty, float weight) |
double | SumDist2Hits () const override |
Private Attributes | |
geo::TPCGeo const & | fTpcGeo |
double | fMinX |
double | fMaxX |
double | fMinY |
double | fMaxY |
double | fMinZ |
double | fMaxZ |
TVector3 | fPoint3D |
TVector2 | fProj2D [3] |
double | fDriftOffset |
TVector3 | fGradient |
bool | fIsVertex |
Static Private Attributes | |
static bool | fGradFixed [3] = {false, false, false} |
static double | fMargin = 3.0 |
Definition at line 34 of file PmaNode3D.h.
pma::Node3D::Node3D | ( | ) |
Definition at line 28 of file PmaNode3D.cxx.
References pma::Element3D::fCryo, fProj2D, and pma::Element3D::fTPC.
pma::Node3D::Node3D | ( | detinfo::DetectorPropertiesData const & | detProp, |
const TVector3 & | p3d, | ||
unsigned int | tpc, | ||
unsigned int | cryo, | ||
bool | vtx = false , |
||
double | xshift = 0 |
||
) |
Definition at line 48 of file PmaNode3D.cxx.
References detinfo::DetectorPropertiesData::ConvertTicksToX(), pma::Element3D::fCryo, fMaxX, fMaxY, fMaxZ, fMinX, fMinY, fMinZ, pma::Element3D::fTPC, fTpcGeo, geo::TPCGeo::HasPlane(), geo::kZ, geo::BoxBoundedGeo::MaxY(), geo::BoxBoundedGeo::MaxZ(), geo::BoxBoundedGeo::MinY(), geo::BoxBoundedGeo::MinZ(), detinfo::DetectorPropertiesData::NumberTimeSamples(), SetPoint3D(), and tmp.
|
inlineinherited |
Definition at line 70 of file PmaElement3D.h.
References pma::Element3D::fAssignedHits, and pma::Element3D::SetProjection().
Referenced by pma::Track3D::MakeProjection().
|
virtualinherited |
Reimplemented from pma::SortedObjectBase.
Definition at line 69 of file SortedObjects.cxx.
References pma::SortedObjectBase::next, art::productstatus::present(), pma::SortedObjectBase::prev, and pma::SortedObjectBase::RemoveNext().
Referenced by pma::Track3D::AttachBackToSameTPC(), and pma::Track3D::AttachToSameTPC().
|
inlineinherited |
Definition at line 82 of file PmaElement3D.h.
References pma::Element3D::ClearAssigned(), pma::Element3D::fAssignedPoints, and pma::Element3D::UpdateHitParams().
Referenced by pma::Track3D::MakeProjection().
|
inline |
|
overridevirtual |
Clear hits/points vectors of this element, optionally only those which are owned by given track.
Reimplemented from pma::Element3D.
Definition at line 825 of file PmaNode3D.cxx.
References pma::Element3D::fAssignedHits, pma::Element3D::fAssignedPoints, pma::Element3D::fHitsRadius, pma::SortedBranchBase::Next(), pma::SortedBranchBase::NextCount(), pma::Segment3D::Parent(), and pma::SortedObjectBase::Prev().
Referenced by pma::Track3D::Split().
|
inlineinherited |
Cryostat index or -1 if out of any cryostat.
Definition at line 37 of file PmaElement3D.h.
References pma::Element3D::fCryo, pma::Element3D::GetDirection3D(), pma::Element3D::GetDistance2To(), pma::Element3D::GetUnconstrainedProj3D(), pma::Element3D::Length2(), and pma::Element3D::SetProjection().
Referenced by pma::ProjectionMatchingAlg::mergeTracks(), pma::Segment3D::Segment3D(), and pma::Track3D::Split().
|
virtualinherited |
Reimplemented from pma::SortedObjectBase.
Definition at line 62 of file SortedObjects.cxx.
References pma::SortedObjectBase::prev, and pma::SortedObjectBase::RemoveNext().
|
private |
Definition at line 357 of file PmaNode3D.cxx.
References fPoint3D, pma::SortedObjectBase::Next(), pma::SortedObjectBase::next, pma::SortedObjectBase::Prev(), and pma::SortedObjectBase::prev.
Referenced by PenaltyInWirePlane().
std::vector< pma::Track3D * > pma::Node3D::GetBranches | ( | ) | const |
Definition at line 443 of file PmaNode3D.cxx.
References pma::SortedBranchBase::Next(), pma::SortedBranchBase::NextCount(), and pma::Segment3D::Parent().
Referenced by pma::VtxCandidate::JoinTracks().
|
overridevirtual |
Get 3D direction cosines of the next segment, or previous segment if this is the last node.
Implements pma::Element3D.
Definition at line 197 of file PmaNode3D.cxx.
References pma::Element3D::GetDirection3D(), pma::SortedObjectBase::next, and pma::SortedObjectBase::prev.
|
overridevirtual |
Distance [cm] from the 3D point to the point 3D.
Implements pma::Element3D.
Definition at line 172 of file PmaNode3D.cxx.
References pma::Dist2(), and fPoint3D.
Referenced by pma::Track3D::MakeFastProjection().
|
overridevirtual |
Distance [cm] from the 2D point to the object's 2D projection in one of wire views.
Implements pma::Element3D.
Definition at line 177 of file PmaNode3D.cxx.
References pma::Dist2(), and fProj2D.
double pma::Node3D::GetDistToWall | ( | ) | const |
|
inline |
double pma::Node3D::GetObjFunction | ( | float | penaltyValue, |
float | endSegWeight | ||
) | const |
Objective function minimized during oprimization.
Definition at line 553 of file PmaNode3D.cxx.
References Mse(), Penalty(), and PenaltyInWirePlane().
Referenced by MakeGradient(), and StepWithGradient().
|
inlineoverridevirtual |
In case of a node it is simply 3D position of the node.
Implements pma::Element3D.
Definition at line 86 of file PmaNode3D.h.
|
inlineinherited |
Definition at line 57 of file PmaElement3D.h.
References pma::Element3D::fAssignedHits.
|
inlineinherited |
Definition at line 65 of file PmaElement3D.h.
References pma::Element3D::fAssignedHits.
Referenced by pma::Track3D::AddNode(), pma::Track3D::DisableSingleViewEnds(), and pma::Track3D::SortHits().
|
inlineinherited |
Definition at line 55 of file PmaElement3D.h.
References pma::Element3D::fAssignedHits.
|
inherited |
Definition at line 209 of file PmaElement3D.cxx.
References pma::Dist2(), pma::Element3D::fAssignedHits, and pma::Element3D::fTPC.
Referenced by pma::Element3D::NThisHits().
bool pma::Node3D::IsBranching | ( | ) | const |
Belongs to more than one track?
Definition at line 418 of file PmaNode3D.cxx.
References pma::SortedBranchBase::Next(), pma::SortedBranchBase::NextCount(), pma::Segment3D::Parent(), and pma::SortedObjectBase::prev.
Referenced by pma::PMAlgVertexing::getKinks(), and pma::PMAlgVertexing::getVertices().
|
inlinevirtualinherited |
|
inlineinherited |
Check if the vertex 3D position is fixed.
Definition at line 105 of file PmaElement3D.h.
References pma::Element3D::fFrozen.
Referenced by pma::Track3D::AddNode(), and pma::ProjectionMatchingAlg::mergeTracks().
|
inlinevirtualinherited |
Reimplemented from pma::SortedObjectBase.
Definition at line 85 of file SortedObjects.h.
bool pma::Node3D::IsTPCEdge | ( | ) | const |
Is the first/last in this TPC?
Definition at line 432 of file PmaNode3D.cxx.
References pma::SortedBranchBase::Next(), pma::SortedBranchBase::NextCount(), pma::SortedObjectBase::prev, and pma::Element3D::TPC().
|
inline |
Check fIsVertex flag.
Definition at line 65 of file PmaNode3D.h.
Referenced by pma::PMAlgVertexing::getKinks().
|
inlineinherited |
Definition at line 53 of file PmaElement3D.h.
References pma::Element3D::Length2().
Referenced by pma::VtxCandidate::Add(), pma::Track3D::AddNode(), pma::VtxCandidate::Compute(), pma::ProjectionMatchingAlg::guideEndpoints(), Pi(), and pma::Track3D::ShiftEndsToHits().
|
overridevirtual |
Squared sum of half-lengths of connected 3D segments (used in the vertex position optimization).
Implements pma::Element3D.
Definition at line 288 of file PmaNode3D.cxx.
References pma::SortedObjectBase::next, and pma::SortedObjectBase::prev.
Referenced by Pi(), and PiInWirePlane().
|
private |
|
private |
Definition at line 558 of file PmaNode3D.cxx.
References E, fGradFixed, fGradient, fPoint3D, GetObjFunction(), pma::Segment3D::Length2(), pma::SortedObjectBase::next, pma::SortedObjectBase::prev, SetPoint3D(), and tmp.
Referenced by StepWithGradient().
|
private |
Definition at line 531 of file PmaNode3D.cxx.
References pma::SortedBranchBase::Next(), pma::SortedBranchBase::NextCount(), pma::Element3D::NPrecalcEnabledHits(), pma::SortedObjectBase::prev, and pma::Element3D::SumDist2().
Referenced by GetObjFunction().
|
inherited |
Definition at line 34 of file PmaElement3D.cxx.
References pma::Element3D::fAssignedHits, geo::kUnknown, and n.
Referenced by pma::Track3D::AddNode(), and pma::Element3D::NHits().
|
inlinevirtualinherited |
Reimplemented from pma::SortedObjectBase.
Definition at line 77 of file SortedObjects.h.
Referenced by pma::Track3D::ApplyDriftShiftInTree(), pma::Track3D::AttachBackTo(), pma::Track3D::AttachBackToSameTPC(), pma::Track3D::AttachTo(), pma::Track3D::AttachToSameTPC(), ClearAssigned(), GetBranches(), pma::Track3D::GetNearestTrkInTree(), pma::Track3D::GetObjFnInTree(), pma::TrkCandidateColl::getTreeCopy(), IsBranching(), IsTPCEdge(), pma::VtxCandidate::JoinTracks(), pma::Track3D::MakeProjectionInTree(), pma::PMAlgVertexing::mergeBrokenTracks(), Mse(), pma::Track3D::NextSegment(), Penalty(), Pi(), PiInWirePlane(), pma::Track3D::ReassignHitsInTree(), pma::TrkCandidateColl::setParentDaughterConnections(), pma::TrkCandidateColl::setTreeId(), pma::Track3D::SortHitsInTree(), pma::Track3D::Split(), pma::Track3D::TuneSinglePass(), and pma::Track3D::UpdateParamsInTree().
|
inlinevirtualinherited |
Reimplemented from pma::SortedObjectBase.
Definition at line 84 of file SortedObjects.h.
Referenced by pma::Track3D::ApplyDriftShiftInTree(), pma::Track3D::AttachBackTo(), pma::Track3D::AttachBackToSameTPC(), pma::Track3D::AttachTo(), pma::Track3D::AttachToSameTPC(), pma::Track3D::CleanupTails(), ClearAssigned(), GetBranches(), pma::Track3D::GetNearestTrkInTree(), pma::Track3D::GetObjFnInTree(), pma::TrkCandidateColl::getTreeCopy(), IsBranching(), IsTPCEdge(), pma::VtxCandidate::JoinTracks(), pma::Track3D::MakeProjectionInTree(), pma::PMAlgVertexing::mergeBrokenTracks(), Mse(), pma::Track3D::NextSegment(), Penalty(), Pi(), PiInWirePlane(), pma::Track3D::ReassignHitsInTree(), pma::Track3D::RemoveNode(), pma::TrkCandidateColl::setParentDaughterConnections(), pma::TrkCandidateColl::setTreeId(), pma::Track3D::ShiftEndsToHits(), pma::Track3D::SortHitsInTree(), pma::Track3D::TuneSinglePass(), and pma::Track3D::UpdateParamsInTree().
|
inlineinherited |
Definition at line 76 of file PmaElement3D.h.
References pma::Element3D::fAssignedHits, geo::kUnknown, and pma::Element3D::NEnabledHits().
Referenced by pma::Track3D::CleanupTails(), pma::Track3D::DisableSingleViewEnds(), PiInWirePlane(), pma::Element3D::SelectRndHits(), and pma::Track3D::SortHits().
|
inlineinherited |
|
inlineinherited |
Definition at line 81 of file PmaElement3D.h.
References pma::Element3D::fAssignedPoints.
Referenced by pma::Track3D::DisableSingleViewEnds().
|
inlineinherited |
Definition at line 78 of file PmaElement3D.h.
References pma::Element3D::fNThisHitsEnabledAll.
Referenced by Mse().
|
inlineinherited |
Definition at line 100 of file PmaElement3D.h.
References pma::Element3D::fNThisHits, and pma::Element3D::HitsRadius3D().
|
inlinestaticinherited |
Definition at line 112 of file PmaElement3D.h.
References pma::Element3D::fOptFactors.
Referenced by pma::Element3D::SumDist2(), pma::Segment3D::SumDist2Hits(), and SumDist2Hits().
void pma::Node3D::Optimize | ( | float | penaltyValue, |
float | endSegWeight | ||
) |
Optimize vertex 3D position with given penalty on connected segments angle and weight assigned to the outermost segments. Only MSE is used in case of branching nodes.
Definition at line 816 of file PmaNode3D.cxx.
References pma::Element3D::fFrozen, and StepWithGradient().
Referenced by pma::Track3D::TuneSinglePass().
|
private |
Definition at line 512 of file PmaNode3D.cxx.
References pma::SortedObjectBase::Next(), pma::SortedBranchBase::Next(), pma::SortedBranchBase::NextCount(), Pi(), pma::SortedObjectBase::Prev(), and pma::SortedObjectBase::prev.
Referenced by GetObjFunction().
|
private |
Definition at line 395 of file PmaNode3D.cxx.
References EndPtCos2Transverse(), fIsVertex, pma::SortedObjectBase::Next(), pma::SortedObjectBase::next, PiInWirePlane(), pma::SortedObjectBase::Prev(), and pma::SortedObjectBase::prev.
Referenced by GetObjFunction().
|
private |
Definition at line 456 of file PmaNode3D.cxx.
References pma::Element3D::fHitsRadius, fIsVertex, pma::Element3D::Length(), pma::Segment3D::Length2(), Length2(), pma::SortedObjectBase::Next(), pma::SortedObjectBase::next, pma::SortedBranchBase::Next(), pma::SortedObjectBase::NextCount(), pma::SortedBranchBase::NextCount(), pma::SortedObjectBase::Prev(), pma::SortedObjectBase::prev, scale, SegmentCos(), and pma::Element3D::TPC().
Referenced by Penalty().
|
private |
Definition at line 374 of file PmaNode3D.cxx.
References pma::Element3D::fHitsRadius, geo::kU, Length2(), pma::SortedBranchBase::Next(), pma::SortedBranchBase::NextCount(), pma::Element3D::NHits(), pma::SortedObjectBase::prev, and SegmentCosWirePlane().
Referenced by PenaltyInWirePlane().
|
inline |
Definition at line 44 of file PmaNode3D.h.
Referenced by pma::Track3D::AttachTo(), pma::VtxCandidate::Compute(), pma::Segment3D::GetDirection3D(), pma::Segment3D::GetDistance2To(), pma::PMAlgVertexing::getKinks(), pma::Segment3D::GetProjection(), pma::Segment3D::GetUnconstrainedProj3D(), pma::VtxCandidate::JoinTracks(), pma::VtxCandidate::MaxAngle(), pma::Segment3D::SetProjection(), SetProjection(), and pma::Track3D::Split().
|
inlinevirtualinherited |
Definition at line 42 of file SortedObjects.h.
References pma::SortedObjectBase::prev.
Referenced by pma::Track3D::AttachBackTo(), pma::Track3D::AttachBackToOtherTPC(), pma::Track3D::AttachBackToSameTPC(), pma::Track3D::AttachTo(), pma::Track3D::AttachToSameTPC(), pma::Track3D::CanFlip(), ClearAssigned(), EndPtCos2Transverse(), pma::Track3D::Flip(), pma::VtxCandidate::JoinTracks(), pma::Track3D::MakeFastProjection(), pma::PMAlgVertexing::mergeBrokenTracks(), Penalty(), PenaltyInWirePlane(), Pi(), pma::Track3D::PrevSegment(), pma::Track3D::RemoveNode(), SegmentCos(), SegmentCosTransverse(), SegmentCosWirePlane(), pma::TrkCandidateColl::setParentDaughterConnections(), SetProjection(), pma::TrkCandidateColl::setTreeOriginAtFront(), pma::Track3D::ShiftEndsToHits(), pma::Track3D::Split(), pma::Segment3D::Start(), and pma::Element3D::UpdateHitParams().
|
inline |
Definition at line 50 of file PmaNode3D.h.
Referenced by pma::Segment3D::GetDistance2To(), pma::Segment3D::GetProjection(), pma::Segment3D::GetUnconstrainedProj3D(), pma::Segment3D::SetProjection(), SetProjection(), and pma::Segment3D::SumDist2Hits().
|
inlineinherited |
Definition at line 80 of file PmaElement3D.h.
References pma::Element3D::fAssignedPoints.
|
inlineinherited |
Definition at line 66 of file PmaElement3D.h.
References pma::Element3D::fAssignedHits.
Referenced by pma::Track3D::MakeFastProjection().
|
virtualinherited |
Reimplemented from pma::SortedObjectBase.
Definition at line 102 of file SortedObjects.cxx.
References pma::SortedObjectBase::next, and pma::SortedObjectBase::prev.
Referenced by pma::Track3D::AttachBackToSameTPC(), pma::Track3D::AttachToSameTPC(), and pma::Track3D::Split().
bool pma::Node3D::SameTPC | ( | const TVector3 & | p3d, |
float | margin = 0.0F |
||
) | const |
Check if p3d is in the same TPC as the node.
Definition at line 100 of file PmaNode3D.cxx.
References fMaxX, fMaxY, fMaxZ, fMinX, fMinY, and fMinZ.
Referenced by pma::Track3D::GetUnconstrainedProj3D(), pma::ProjectionMatchingAlg::isContained(), pma::ProjectionMatchingAlg::validate(), pma::ProjectionMatchingAlg::validate_on_adc(), and pma::ProjectionMatchingAlg::validate_on_adc_test().
bool pma::Node3D::SameTPC | ( | const pma::Vector3D & | p3d, |
float | margin = 0.0F |
||
) | const |
double pma::Node3D::SegmentCos | ( | ) | const |
Cosine of 3D angle between connected segments.
Definition at line 300 of file PmaNode3D.cxx.
References fPoint3D, pma::SortedObjectBase::Next(), pma::SortedObjectBase::next, pma::SortedObjectBase::Prev(), and pma::SortedObjectBase::prev.
Referenced by Pi().
double pma::Node3D::SegmentCosTransverse | ( | ) | const |
Cosine of 2D angle (in horizontal plane, parallel to drift) between connected segments. Should be changed / generalized for horizontal wire planes (e.g. 2-phase LAr).
Definition at line 338 of file PmaNode3D.cxx.
References fPoint3D, pma::SortedObjectBase::Next(), pma::SortedObjectBase::next, pma::SortedObjectBase::Prev(), and pma::SortedObjectBase::prev.
double pma::Node3D::SegmentCosWirePlane | ( | ) | const |
Cosine of 2D angle (in plane parallel to wire planes) between connected segments. Should be changed / generalized for horizontal wire planes (e.g. 2-phase LAr).
Definition at line 320 of file PmaNode3D.cxx.
References fPoint3D, pma::SortedObjectBase::Next(), pma::SortedObjectBase::next, pma::SortedObjectBase::Prev(), and pma::SortedObjectBase::prev.
Referenced by PiInWirePlane().
|
inherited |
Definition at line 284 of file PmaElement3D.cxx.
References pma::Element3D::fAssignedHits.
Referenced by pma::Track3D::SelectHits(), pma::Element3D::SelectRndHits(), and pma::Element3D::SetFrozen().
|
inherited |
Definition at line 236 of file PmaElement3D.cxx.
References pma::Element3D::fAssignedHits, pma::Element3D::NHits(), and pma::Element3D::SelectAllHits().
Referenced by pma::Element3D::SetFrozen().
|
inlineinherited |
Fix / relese vertex 3D position.
Definition at line 107 of file PmaElement3D.h.
References pma::Element3D::fFrozen, pma::Element3D::SelectAllHits(), and pma::Element3D::SelectRndHits().
|
inlinestatic |
Set allowed node position margin around TPC.
Definition at line 124 of file PmaNode3D.h.
References weight.
Referenced by pma::ProjectionMatchingAlg::ProjectionMatchingAlg().
|
inlinestaticinherited |
Definition at line 113 of file PmaElement3D.h.
References pma::Element3D::Element3D(), pma::Element3D::fOptFactors, and value.
Referenced by pma::ProjectionMatchingAlg::ProjectionMatchingAlg().
bool pma::Node3D::SetPoint3D | ( | const TVector3 & | p3d | ) |
Returns true if the new position was accepted; returns false if the new position was trimmed to fit insite TPC volume + fMargin.
Definition at line 162 of file PmaNode3D.cxx.
References fPoint3D, LimitPoint3D(), and UpdateProj2D().
Referenced by pma::VtxCandidate::JoinTracks(), MakeGradient(), Node3D(), and StepWithGradient().
|
overridevirtual |
Set hit 3D position and its 2D projection to the vertex.
Implements pma::Element3D.
Definition at line 214 of file PmaNode3D.cxx.
References pma::Element3D::fFrozen, fPoint3D, pma::SortedObjectBase::Next(), pma::SortedObjectBase::next, pma::Hit3D::Point2D(), Point3D(), pma::SortedObjectBase::Prev(), pma::SortedObjectBase::prev, Projection2D(), pma::Hit3D::SetPoint3D(), pma::Hit3D::SetProjection(), and pma::Hit3D::View2D().
|
inline |
Definition at line 66 of file PmaNode3D.h.
|
inline |
Definition at line 67 of file PmaNode3D.h.
|
inherited |
Definition at line 44 of file PmaElement3D.cxx.
References pma::Element3D::fAssignedHits.
Referenced by pma::Track3D::AddNode(), pma::Track3D::SortHits(), and pma::Element3D::UpdateProjection().
|
private |
Definition at line 641 of file PmaNode3D.cxx.
References fGradient, fPoint3D, GetObjFunction(), MakeGradient(), SetPoint3D(), t1, t2, and tmp.
Referenced by Optimize().
|
inherited |
Definition at line 164 of file PmaElement3D.cxx.
References d, pma::Element3D::fAssignedHits, pma::Element3D::fAssignedPoints, pma::Element3D::fTPC, pma::Element3D::GetDistance2To(), and pma::Element3D::SumDist2Hits().
Referenced by Mse(), and pma::Element3D::UpdateProjection().
|
inherited |
Definition at line 187 of file PmaElement3D.cxx.
References pma::Element3D::fAssignedHits, pma::Element3D::fTPC, pma::Element3D::GetDistance2To(), geo::kUnknown, and pma::Element3D::OptFactor().
|
overrideprivatevirtual |
Implements pma::Element3D.
Definition at line 182 of file PmaNode3D.cxx.
References pma::Dist2(), pma::Element3D::fAssignedHits, fProj2D, pma::Element3D::OptFactor(), and sum.
|
inlineinherited |
|
inlineinherited |
TPC index or -1 if out of any TPC.
Definition at line 35 of file PmaElement3D.h.
References pma::Element3D::fTPC.
Referenced by pma::Track3D::AttachBackTo(), pma::Track3D::AttachTo(), pma::Track3D::HasTPC(), IsTPCEdge(), pma::Track3D::MakeFastProjection(), pma::ProjectionMatchingAlg::mergeTracks(), Pi(), pma::Segment3D::Segment3D(), pma::Track3D::Split(), pma::ProjectionMatchingAlg::validate(), pma::ProjectionMatchingAlg::validate_on_adc(), and pma::ProjectionMatchingAlg::validate_on_adc_test().
|
inherited |
Definition at line 56 of file PmaElement3D.cxx.
References pma::Element3D::fAssignedHits, pma::Element3D::fHitsRadius, pma::Element3D::fNHits, pma::Element3D::fNThisHits, pma::Element3D::fNThisHitsEnabledAll, pma::Element3D::fSumHitsQ, pma::GetHitsRadius2D(), geo::kU, geo::kV, geo::kZ, pma::SortedObjectBase::Next(), pma::SortedObjectBase::NextCount(), pma::SortedObjectBase::Prev(), and r.
Referenced by pma::Element3D::AddPoint().
|
private |
Definition at line 154 of file PmaNode3D.cxx.
References fDriftOffset, fPoint3D, fProj2D, fTpcGeo, geo::TPCGeo::Nplanes(), geo::TPCGeo::Plane(), geo::PlaneGeo::PlaneCoordinate(), and geo::vect::toPoint().
Referenced by SetPoint3D().
|
inlineinherited |
Definition at line 89 of file PmaElement3D.h.
References pma::Element3D::fAssignedHits, pma::Element3D::SetProjection(), pma::Element3D::SortHits(), and pma::Element3D::SumDist2().
|
protectedinherited |
Definition at line 122 of file PmaElement3D.h.
Referenced by pma::Element3D::AddHit(), pma::Element3D::ClearAssigned(), ClearAssigned(), pma::Element3D::HasHit(), pma::Element3D::Hit(), pma::Element3D::Hits(), pma::Element3D::HitsRadius3D(), pma::Element3D::NEnabledHits(), pma::Element3D::NHits(), pma::Element3D::RemoveHitAt(), pma::Element3D::SelectAllHits(), pma::Element3D::SelectRndHits(), pma::Element3D::SortHits(), pma::Element3D::SumDist2(), pma::Segment3D::SumDist2Hits(), SumDist2Hits(), pma::Element3D::UpdateHitParams(), and pma::Element3D::UpdateProjection().
|
protectedinherited |
Definition at line 123 of file PmaElement3D.h.
Referenced by pma::Element3D::AddPoint(), pma::Element3D::ClearAssigned(), ClearAssigned(), pma::Element3D::NPoints(), pma::Element3D::ReferencePoint(), and pma::Element3D::SumDist2().
|
protectedinherited |
Definition at line 117 of file PmaElement3D.h.
Referenced by pma::Element3D::Cryo(), Node3D(), and pma::Segment3D::Segment3D().
|
private |
Definition at line 155 of file PmaNode3D.h.
Referenced by UpdateProj2D().
|
protectedinherited |
Definition at line 121 of file PmaElement3D.h.
Referenced by pma::Element3D::IsFrozen(), Optimize(), pma::Element3D::SetFrozen(), and SetProjection().
|
staticprivate |
Definition at line 160 of file PmaNode3D.h.
Referenced by MakeGradient().
|
private |
Definition at line 157 of file PmaNode3D.h.
Referenced by MakeGradient(), and StepWithGradient().
|
protectedinherited |
Definition at line 128 of file PmaElement3D.h.
Referenced by pma::Element3D::ClearAssigned(), ClearAssigned(), Pi(), PiInWirePlane(), and pma::Element3D::UpdateHitParams().
|
private |
Definition at line 158 of file PmaNode3D.h.
Referenced by PenaltyInWirePlane(), and Pi().
|
staticprivate |
Definition at line 161 of file PmaNode3D.h.
Referenced by LimitPoint3D().
|
private |
Definition at line 149 of file PmaNode3D.h.
Referenced by GetDistToWall(), LimitPoint3D(), Node3D(), and SameTPC().
|
private |
Definition at line 149 of file PmaNode3D.h.
Referenced by GetDistToWall(), LimitPoint3D(), Node3D(), and SameTPC().
|
private |
Definition at line 149 of file PmaNode3D.h.
Referenced by GetDistToWall(), LimitPoint3D(), Node3D(), and SameTPC().
|
private |
Definition at line 149 of file PmaNode3D.h.
Referenced by GetDistToWall(), LimitPoint3D(), Node3D(), and SameTPC().
|
private |
Definition at line 149 of file PmaNode3D.h.
Referenced by GetDistToWall(), LimitPoint3D(), Node3D(), and SameTPC().
|
private |
Definition at line 149 of file PmaNode3D.h.
Referenced by GetDistToWall(), LimitPoint3D(), Node3D(), and SameTPC().
|
protectedinherited |
Definition at line 126 of file PmaElement3D.h.
Referenced by pma::Element3D::Element3D(), pma::Element3D::NHits(), and pma::Element3D::UpdateHitParams().
|
protectedinherited |
Definition at line 124 of file PmaElement3D.h.
Referenced by pma::Element3D::Element3D(), pma::Element3D::NThisHits(), and pma::Element3D::UpdateHitParams().
|
protectedinherited |
Definition at line 125 of file PmaElement3D.h.
Referenced by pma::Element3D::Element3D(), pma::Element3D::NPrecalcEnabledHits(), and pma::Element3D::UpdateHitParams().
|
staticprotectedinherited |
Definition at line 130 of file PmaElement3D.h.
Referenced by pma::Element3D::OptFactor(), and pma::Element3D::SetOptFactor().
|
private |
Definition at line 152 of file PmaNode3D.h.
Referenced by pma::Track3D::ApplyDriftShiftInTree(), EndPtCos2Transverse(), GetDistance2To(), GetDistToWall(), LimitPoint3D(), MakeGradient(), SegmentCos(), SegmentCosTransverse(), SegmentCosWirePlane(), SetPoint3D(), SetProjection(), StepWithGradient(), and UpdateProj2D().
|
private |
Definition at line 153 of file PmaNode3D.h.
Referenced by GetDistance2To(), Node3D(), SumDist2Hits(), and UpdateProj2D().
|
protectedinherited |
Definition at line 127 of file PmaElement3D.h.
Referenced by pma::Element3D::Element3D(), pma::Element3D::SumHitsQ(), and pma::Element3D::UpdateHitParams().
|
protectedinherited |
Definition at line 117 of file PmaElement3D.h.
Referenced by pma::Element3D::HitsRadius3D(), Node3D(), pma::Segment3D::Segment3D(), pma::Element3D::SumDist2(), and pma::Element3D::TPC().
|
private |
Definition at line 147 of file PmaNode3D.h.
Referenced by Node3D(), and UpdateProj2D().
|
protectedinherited |
Definition at line 53 of file SortedObjects.h.
Referenced by pma::SortedObjectBase::AddNext(), pma::SortedBranchBase::AddNext(), pma::SortedObjectBase::Disconnect(), EndPtCos2Transverse(), pma::Segment3D::GetDirection3D(), GetDirection3D(), pma::Segment3D::GetDistance2To(), pma::Segment3D::GetProjection(), pma::Segment3D::GetUnconstrainedProj3D(), pma::SortedObjectBase::IsLast(), pma::Segment3D::Length2(), Length2(), MakeGradient(), pma::SortedObjectBase::Next(), pma::SortedObjectBase::NextCount(), PenaltyInWirePlane(), Pi(), pma::SortedObjectBase::RemoveNext(), pma::SortedBranchBase::RemoveNext(), SegmentCos(), SegmentCosTransverse(), SegmentCosWirePlane(), pma::Segment3D::SetProjection(), SetProjection(), pma::SortedBranchBase::SortedBranchBase(), and pma::Segment3D::SumDist2Hits().
|
protectedinherited |
Definition at line 88 of file SortedObjects.h.
|
protectedinherited |
Definition at line 54 of file SortedObjects.h.
Referenced by pma::SortedObjectBase::AddNext(), pma::SortedBranchBase::AddNext(), pma::SortedObjectBase::Disconnect(), pma::SortedBranchBase::Disconnect(), EndPtCos2Transverse(), pma::Segment3D::GetDirection3D(), GetDirection3D(), pma::Segment3D::GetDistance2To(), pma::Segment3D::GetProjection(), pma::Segment3D::GetUnconstrainedProj3D(), IsBranching(), pma::SortedObjectBase::IsFirst(), IsTPCEdge(), pma::Segment3D::Length2(), Length2(), MakeGradient(), Mse(), Penalty(), PenaltyInWirePlane(), Pi(), PiInWirePlane(), pma::SortedObjectBase::Prev(), pma::SortedObjectBase::RemoveNext(), pma::SortedBranchBase::RemoveNext(), SegmentCos(), SegmentCosTransverse(), SegmentCosWirePlane(), pma::Segment3D::SetProjection(), SetProjection(), and pma::Segment3D::SumDist2Hits().