#include <PmaSegment3D.h>
Public Member Functions | |
Segment3D (void) | |
Segment3D (pma::Track3D *trk, pma::Node3D *vstart, pma::Node3D *vstop) | |
Vector3D | Start (void) const |
Vector3D | End (void) const |
double | GetDistance2To (const TVector3 &p3d) const override |
Distance [cm] from the 3D segment to the point 3D. More... | |
double | GetDistance2To (const TVector2 &p2d, unsigned int view) const override |
Distance [cm] from the 2D point to the object's 2D projection in one of wire views. More... | |
pma::Vector3D | GetDirection3D (void) const override |
Get 3D direction cosines of this segment. More... | |
TVector3 | GetProjection (const TVector2 &p, unsigned int view) const |
Get 3D projection of a 2D point from the view. More... | |
TVector3 | GetUnconstrainedProj3D (const TVector2 &p2d, unsigned int view) const override |
void | SetProjection (pma::Hit3D &h) const override |
Set hit 3D position and its 2D projection to the vertex. More... | |
double | Length2 (void) const override |
pma::Track3D * | Parent (void) const |
Public Member Functions inherited from pma::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... | |
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) |
Public Member Functions inherited from pma::SortedObjectBase | |
SortedObjectBase (void) | |
SortedObjectBase (pma::SortedObjectBase *prevElement, pma::SortedObjectBase *nextElement) | |
SortedObjectBase (const pma::SortedObjectBase &src) | |
Note: copy constructor does not preserve connections. More... | |
virtual | ~SortedObjectBase (void) |
virtual void | Disconnect (void) |
virtual bool | AddNext (pma::SortedObjectBase *nextElement) |
virtual int | RemoveNext (pma::SortedObjectBase *nextElement) |
virtual bool | IsFirst (void) const |
virtual bool | IsLast (void) const |
virtual pma::SortedObjectBase * | Prev (void) const |
virtual pma::SortedObjectBase * | Next (unsigned int index=0) const |
virtual unsigned int | NextCount (void) const |
Private Member Functions | |
Segment3D (const pma::Segment3D &src) | |
double | SumDist2Hits (void) const override |
Static Private Member Functions | |
static double | GetDist2 (const TVector3 &psrc, const TVector3 &p0, const TVector3 &p1) |
static double | GetDist2 (const TVector2 &psrc, const TVector2 &p0, const TVector2 &p1) |
Private Attributes | |
pma::Track3D * | fParent |
Additional Inherited Members | |
Static Public Member Functions inherited from pma::Element3D | |
static float | OptFactor (unsigned int view) |
static void | SetOptFactor (unsigned int view, float value) |
Protected Member Functions inherited from pma::Element3D | |
Element3D (void) | |
Protected Attributes inherited from pma::Element3D | |
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 |
Protected Attributes inherited from pma::SortedObjectBase | |
pma::SortedObjectBase * | next |
pma::SortedObjectBase * | prev |
Static Protected Attributes inherited from pma::Element3D | |
static float | fOptFactors [3] = { 0.2F, 0.8F, 1.0F } |
Definition at line 28 of file PmaSegment3D.h.
|
inline |
Definition at line 31 of file PmaSegment3D.h.
pma::Segment3D::Segment3D | ( | pma::Track3D * | trk, |
pma::Node3D * | vstart, | ||
pma::Node3D * | vstop | ||
) |
Definition at line 20 of file PmaSegment3D.cxx.
|
private |
|
inline |
Definition at line 39 of file PmaSegment3D.h.
|
overridevirtual |
Get 3D direction cosines of this segment.
Implements pma::Element3D.
Definition at line 61 of file PmaSegment3D.cxx.
|
staticprivate |
Definition at line 221 of file PmaSegment3D.cxx.
|
staticprivate |
Definition at line 262 of file PmaSegment3D.cxx.
|
overridevirtual |
Distance [cm] from the 3D segment to the point 3D.
Implements pma::Element3D.
Definition at line 28 of file PmaSegment3D.cxx.
|
overridevirtual |
Distance [cm] from the 2D point to the object's 2D projection in one of wire views.
Implements pma::Element3D.
Definition at line 35 of file PmaSegment3D.cxx.
TVector3 pma::Segment3D::GetProjection | ( | const TVector2 & | p, |
unsigned int | view | ||
) | const |
Get 3D projection of a 2D point from the view.
Definition at line 72 of file PmaSegment3D.cxx.
|
overridevirtual |
Get 3D projection of a 2D point from the view, no limitations if it falls beyond the segment endpoints.
Implements pma::Element3D.
Definition at line 118 of file PmaSegment3D.cxx.
|
overridevirtual |
Squared sum of half-lengths of connected 3D segments (used in the vertex position optimization).
Implements pma::Element3D.
Definition at line 209 of file PmaSegment3D.cxx.
|
inline |
Definition at line 68 of file PmaSegment3D.h.
|
overridevirtual |
Set hit 3D position and its 2D projection to the vertex.
Implements pma::Element3D.
Definition at line 153 of file PmaSegment3D.cxx.
|
inline |
Definition at line 34 of file PmaSegment3D.h.
|
overrideprivatevirtual |
Implements pma::Element3D.
Definition at line 42 of file PmaSegment3D.cxx.
|
private |
Definition at line 75 of file PmaSegment3D.h.