![]() |
LArSoft
v10_04_05
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 |
geo::WireReadoutGeom const & | fChannelMap |
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 31 of file PmaNode3D.h.
pma::Node3D::Node3D | ( | ) |
Definition at line 29 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 50 of file PmaNode3D.cxx.
References detinfo::DetectorPropertiesData::ConvertTicksToX(), fChannelMap, pma::Element3D::fCryo, fMaxX, fMaxY, fMaxZ, fMinX, fMinY, fMinZ, pma::Element3D::fTPC, fTpcGeo, geo::WireReadoutGeom::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 820 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 361 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 447 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 201 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 176 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 181 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 557 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 83 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 422 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 436 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 62 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 292 of file PmaNode3D.cxx.
References pma::SortedObjectBase::next, and pma::SortedObjectBase::prev.
Referenced by Pi(), and PiInWirePlane().
|
private |
|
private |
Definition at line 562 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 535 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 811 of file PmaNode3D.cxx.
References pma::Element3D::fFrozen, and StepWithGradient().
Referenced by pma::Track3D::TuneSinglePass().
|
private |
Definition at line 516 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 399 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 460 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 378 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 41 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 47 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 103 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 304 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 342 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 324 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 121 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 166 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 218 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 63 of file PmaNode3D.h.
|
inline |
Definition at line 64 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 186 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 157 of file PmaNode3D.cxx.
References fChannelMap, fDriftOffset, fPoint3D, fProj2D, fTpcGeo, geo::TPCGeo::ID(), geo::Iterable< IterationPolicy, Transform >::Iterate(), 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().
|
private |
Definition at line 145 of file PmaNode3D.h.
Referenced by Node3D(), and UpdateProj2D().
|
protectedinherited |
Definition at line 117 of file PmaElement3D.h.
Referenced by pma::Element3D::Cryo(), Node3D(), and pma::Segment3D::Segment3D().
|
private |
Definition at line 153 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 158 of file PmaNode3D.h.
Referenced by MakeGradient().
|
private |
Definition at line 155 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 156 of file PmaNode3D.h.
Referenced by PenaltyInWirePlane(), and Pi().
|
staticprivate |
Definition at line 159 of file PmaNode3D.h.
Referenced by LimitPoint3D().
|
private |
Definition at line 147 of file PmaNode3D.h.
Referenced by GetDistToWall(), LimitPoint3D(), Node3D(), and SameTPC().
|
private |
Definition at line 147 of file PmaNode3D.h.
Referenced by GetDistToWall(), LimitPoint3D(), Node3D(), and SameTPC().
|
private |
Definition at line 147 of file PmaNode3D.h.
Referenced by GetDistToWall(), LimitPoint3D(), Node3D(), and SameTPC().
|
private |
Definition at line 147 of file PmaNode3D.h.
Referenced by GetDistToWall(), LimitPoint3D(), Node3D(), and SameTPC().
|
private |
Definition at line 147 of file PmaNode3D.h.
Referenced by GetDistToWall(), LimitPoint3D(), Node3D(), and SameTPC().
|
private |
Definition at line 147 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 150 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 151 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 144 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().