LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
#include "PmaElement3D.h"
Public Member Functions | |
virtual | ~Element3D () |
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... | |
virtual double | GetDistance2To (const TVector3 &p3d) const =0 |
Distance [cm] from the 3D point to the object 3D. More... | |
virtual double | GetDistance2To (const TVector2 &p2d, unsigned int view) const =0 |
Distance [cm] from the 2D point to the object's 2D projection in one of wire views. More... | |
virtual pma::Vector3D | GetDirection3D (void) const =0 |
Get 3D direction cosines corresponding to this element. More... | |
virtual TVector3 | GetUnconstrainedProj3D (const TVector2 &p2d, unsigned int view) const =0 |
virtual void | SetProjection (pma::Hit3D &h) const =0 |
virtual double | Length2 (void) const =0 |
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 |
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) |
virtual void | ClearAssigned (pma::Track3D *trk=0) |
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 | NHits (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) |
Static Public Member Functions | |
static float | OptFactor (unsigned int view) |
static void | SetOptFactor (unsigned int view, float value) |
Protected Member Functions | |
Element3D (void) | |
virtual double | SumDist2Hits (void) const =0 |
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 |
Static Protected Attributes | |
static float | fOptFactors [3] = {0.2F, 0.8F, 1.0F} |
Definition at line 30 of file PmaElement3D.h.
|
virtualdefault |
|
protected |
Definition at line 24 of file PmaElement3D.cxx.
References fNHits, fNThisHits, fNThisHitsEnabledAll, and fSumHitsQ.
Referenced by SetOptFactor().
|
inline |
Definition at line 70 of file PmaElement3D.h.
References fAssignedHits, and SetProjection().
Referenced by pma::Track3D::MakeProjection().
|
inline |
Definition at line 82 of file PmaElement3D.h.
References ClearAssigned(), fAssignedPoints, and UpdateHitParams().
Referenced by pma::Track3D::MakeProjection().
|
virtual |
Clear hits/points vectors of this element, optionally only those which are owned by given track.
Reimplemented in pma::Node3D.
Definition at line 49 of file PmaElement3D.cxx.
References fAssignedHits, fAssignedPoints, and fHitsRadius.
Referenced by AddPoint().
|
inline |
Cryostat index or -1 if out of any cryostat.
Definition at line 37 of file PmaElement3D.h.
References fCryo, GetDirection3D(), GetDistance2To(), GetUnconstrainedProj3D(), Length2(), and SetProjection().
Referenced by pma::ProjectionMatchingAlg::mergeTracks(), pma::Segment3D::Segment3D(), and pma::Track3D::Split().
|
pure virtual |
Get 3D direction cosines corresponding to this element.
Implemented in pma::Node3D, and pma::Segment3D.
Referenced by Cryo(), and pma::Node3D::GetDirection3D().
|
pure virtual |
Distance [cm] from the 3D point to the object 3D.
Implemented in pma::Node3D, and pma::Segment3D.
Referenced by Cryo(), pma::Track3D::GetNearestElement(), pma::Track3D::MakeFastProjection(), and SumDist2().
|
pure virtual |
Distance [cm] from the 2D point to the object's 2D projection in one of wire views.
Implemented in pma::Node3D, and pma::Segment3D.
|
pure virtual |
Implemented in pma::Node3D, and pma::Segment3D.
Referenced by Cryo().
|
inline |
Definition at line 57 of file PmaElement3D.h.
References fAssignedHits.
|
inline |
Definition at line 65 of file PmaElement3D.h.
References fAssignedHits.
Referenced by pma::Track3D::AddNode(), pma::Track3D::DisableSingleViewEnds(), and pma::Track3D::SortHits().
|
inline |
Definition at line 55 of file PmaElement3D.h.
References fAssignedHits.
double pma::Element3D::HitsRadius3D | ( | unsigned int | view | ) | const |
Definition at line 209 of file PmaElement3D.cxx.
References pma::Dist2(), fAssignedHits, and fTPC.
Referenced by NThisHits().
|
inline |
Check if the vertex 3D position is fixed.
Definition at line 105 of file PmaElement3D.h.
References fFrozen.
Referenced by pma::Track3D::AddNode(), and pma::ProjectionMatchingAlg::mergeTracks().
|
inline |
Definition at line 53 of file PmaElement3D.h.
References Length2().
Referenced by pma::VtxCandidate::Add(), pma::Track3D::AddNode(), pma::VtxCandidate::Compute(), pma::ProjectionMatchingAlg::guideEndpoints(), pma::Node3D::Pi(), and pma::Track3D::ShiftEndsToHits().
|
pure virtual |
Implemented in pma::Node3D, and pma::Segment3D.
size_t pma::Element3D::NEnabledHits | ( | unsigned int | view = geo::kUnknown | ) | const |
Definition at line 34 of file PmaElement3D.cxx.
References fAssignedHits, geo::kUnknown, and n.
Referenced by pma::Track3D::AddNode(), and NHits().
|
inline |
Definition at line 76 of file PmaElement3D.h.
References fAssignedHits, geo::kUnknown, and NEnabledHits().
Referenced by pma::Track3D::CleanupTails(), pma::Track3D::DisableSingleViewEnds(), pma::Node3D::PiInWirePlane(), SelectRndHits(), and pma::Track3D::SortHits().
|
inline |
|
inline |
Definition at line 81 of file PmaElement3D.h.
References fAssignedPoints.
Referenced by pma::Track3D::DisableSingleViewEnds().
|
inline |
Definition at line 78 of file PmaElement3D.h.
References fNThisHitsEnabledAll.
Referenced by pma::Node3D::Mse().
|
inline |
|
inlinestatic |
Definition at line 112 of file PmaElement3D.h.
References fOptFactors.
Referenced by SumDist2(), pma::Segment3D::SumDist2Hits(), and pma::Node3D::SumDist2Hits().
|
inline |
Definition at line 80 of file PmaElement3D.h.
References fAssignedPoints.
|
inline |
Definition at line 66 of file PmaElement3D.h.
References fAssignedHits.
Referenced by pma::Track3D::MakeFastProjection().
bool pma::Element3D::SelectAllHits | ( | void | ) |
Definition at line 284 of file PmaElement3D.cxx.
References fAssignedHits.
Referenced by pma::Track3D::SelectHits(), SelectRndHits(), and SetFrozen().
bool pma::Element3D::SelectRndHits | ( | size_t | nmax_per_view | ) |
Definition at line 236 of file PmaElement3D.cxx.
References fAssignedHits, NHits(), and SelectAllHits().
Referenced by SetFrozen().
|
inline |
Fix / relese vertex 3D position.
Definition at line 107 of file PmaElement3D.h.
References fFrozen, SelectAllHits(), and SelectRndHits().
|
inlinestatic |
Definition at line 113 of file PmaElement3D.h.
References Element3D(), fOptFactors, and value.
Referenced by pma::ProjectionMatchingAlg::ProjectionMatchingAlg().
|
pure virtual |
Implemented in pma::Node3D, and pma::Segment3D.
Referenced by AddHit(), Cryo(), and UpdateProjection().
void pma::Element3D::SortHits | ( | void | ) |
Definition at line 44 of file PmaElement3D.cxx.
References fAssignedHits.
Referenced by pma::Track3D::AddNode(), pma::Track3D::SortHits(), and UpdateProjection().
double pma::Element3D::SumDist2 | ( | void | ) | const |
Definition at line 164 of file PmaElement3D.cxx.
References d, fAssignedHits, fAssignedPoints, fTPC, GetDistance2To(), and SumDist2Hits().
Referenced by pma::Node3D::Mse(), and UpdateProjection().
double pma::Element3D::SumDist2 | ( | unsigned int | view | ) | const |
Definition at line 187 of file PmaElement3D.cxx.
References fAssignedHits, fTPC, GetDistance2To(), geo::kUnknown, and OptFactor().
|
protectedpure virtual |
Implemented in pma::Node3D, and pma::Segment3D.
Referenced by SumDist2().
|
inline |
|
inline |
TPC index or -1 if out of any TPC.
Definition at line 35 of file PmaElement3D.h.
References fTPC.
Referenced by pma::Track3D::AttachBackTo(), pma::Track3D::AttachTo(), pma::Track3D::HasTPC(), pma::Node3D::IsTPCEdge(), pma::Track3D::MakeFastProjection(), pma::ProjectionMatchingAlg::mergeTracks(), pma::Node3D::Pi(), pma::Segment3D::Segment3D(), pma::Track3D::Split(), pma::ProjectionMatchingAlg::validate(), pma::ProjectionMatchingAlg::validate_on_adc(), and pma::ProjectionMatchingAlg::validate_on_adc_test().
void pma::Element3D::UpdateHitParams | ( | void | ) |
Definition at line 56 of file PmaElement3D.cxx.
References fAssignedHits, fHitsRadius, fNHits, fNThisHits, fNThisHitsEnabledAll, fSumHitsQ, pma::GetHitsRadius2D(), geo::kU, geo::kV, geo::kZ, pma::SortedObjectBase::Next(), pma::SortedObjectBase::NextCount(), pma::SortedObjectBase::Prev(), and r.
Referenced by AddPoint().
|
inline |
Definition at line 89 of file PmaElement3D.h.
References fAssignedHits, SetProjection(), SortHits(), and SumDist2().
|
protected |
Definition at line 122 of file PmaElement3D.h.
Referenced by AddHit(), ClearAssigned(), pma::Node3D::ClearAssigned(), HasHit(), Hit(), Hits(), HitsRadius3D(), NEnabledHits(), NHits(), RemoveHitAt(), SelectAllHits(), SelectRndHits(), SortHits(), SumDist2(), pma::Segment3D::SumDist2Hits(), pma::Node3D::SumDist2Hits(), UpdateHitParams(), and UpdateProjection().
|
protected |
Definition at line 123 of file PmaElement3D.h.
Referenced by AddPoint(), ClearAssigned(), pma::Node3D::ClearAssigned(), NPoints(), ReferencePoint(), and SumDist2().
|
protected |
Definition at line 117 of file PmaElement3D.h.
Referenced by Cryo(), pma::Node3D::Node3D(), and pma::Segment3D::Segment3D().
|
protected |
Definition at line 121 of file PmaElement3D.h.
Referenced by IsFrozen(), pma::Node3D::Optimize(), SetFrozen(), and pma::Node3D::SetProjection().
|
protected |
Definition at line 128 of file PmaElement3D.h.
Referenced by ClearAssigned(), pma::Node3D::ClearAssigned(), pma::Node3D::Pi(), pma::Node3D::PiInWirePlane(), and UpdateHitParams().
|
protected |
Definition at line 126 of file PmaElement3D.h.
Referenced by Element3D(), NHits(), and UpdateHitParams().
|
protected |
Definition at line 124 of file PmaElement3D.h.
Referenced by Element3D(), NThisHits(), and UpdateHitParams().
|
protected |
Definition at line 125 of file PmaElement3D.h.
Referenced by Element3D(), NPrecalcEnabledHits(), and UpdateHitParams().
|
staticprotected |
Definition at line 130 of file PmaElement3D.h.
Referenced by OptFactor(), and SetOptFactor().
|
protected |
Definition at line 127 of file PmaElement3D.h.
Referenced by Element3D(), SumHitsQ(), and UpdateHitParams().
|
protected |
Definition at line 117 of file PmaElement3D.h.
Referenced by HitsRadius3D(), pma::Node3D::Node3D(), pma::Segment3D::Segment3D(), SumDist2(), and TPC().