9 #ifndef TRAJCLUSTERALGVERTEX_H 10 #define TRAJCLUSTERALGVERTEX_H 38 extern std::vector<TCSlice>
slices;
42 void FindVtxTjs(TCSlice& slc, VtxStore& theVtx);
46 bool MergeWithVertex(TCSlice& slc, VtxStore& vx2,
unsigned short existingVxID);
58 unsigned short TPNearVertex(TCSlice& slc,
const TrajPoint& tp);
59 bool AttachPFPToVertex(TCSlice& slc, PFPStruct& pfp,
unsigned short end,
unsigned short vx3ID,
bool prt);
63 float VertexVertexPull(TCSlice& slc,
const Vtx3Store& vx1,
const Vtx3Store& vx2);
64 float VertexVertexPull(TCSlice& slc,
const VtxStore& vx1,
const VtxStore& vx2);
65 bool FitVertex(TCSlice& slc, VtxStore& vx,
bool prt);
66 bool FitVertex(TCSlice& slc, VtxStore& vx, std::vector<TrajPoint> vxTp,
bool prt);
74 unsigned short Vx3Topo(TCSlice& slc, Vtx3Store& vx3);
76 bool MakeVertexObsolete(std::string fcnLabel, TCSlice& slc, VtxStore& vx2,
bool forceKill);
78 std::vector<int>
GetVtxTjIDs(
const TCSlice& slc,
const VtxStore& vx2);
79 std::vector<int>
GetVtxTjIDs(
const TCSlice& slc,
const Vtx3Store& vx3,
float& score);
80 std::vector<unsigned short>
GetPFPVertices(
const TCSlice& slc,
const PFPStruct& pfp);
81 void PosInPlane(
const TCSlice& slc,
const Vtx3Store& vx3,
unsigned short plane,
Point2_t& pos);
86 #endif // ifndef TRAJCLUSTERALGVERTEX_H void VtxHitsSwap(TCSlice &slc, const CTP_t inCTP)
bool MergeWithVertex(TCSlice &slc, VtxStore &vx, unsigned short oVxID)
bool MakeVertexObsolete(std::string fcnLabel, TCSlice &slc, VtxStore &vx2, bool forceKill)
bool FitVertex(TCSlice &slc, VtxStore &vx, bool prt)
void SplitTrajCrossingVertices(TCSlice &slc, CTP_t inCTP)
float TrajPointVertexPull(TCSlice &slc, const TrajPoint &tp, const VtxStore &vx)
bool AttachAnyTrajToVertex(TCSlice &slc, unsigned short ivx, bool prt)
void SetVx3Score(TCSlice &slc, Vtx3Store &vx3)
bool AttachPFPToVertex(TCSlice &slc, PFPStruct &pfp, unsigned short end, unsigned short vx3ID, bool prt)
bool StoreVertex(TCSlice &slc, VtxStore &vx)
std::vector< unsigned short > GetPFPVertices(const TCSlice &slc, const PFPStruct &pfp)
std::array< float, 2 > Point2_t
bool ChkVtxAssociations(TCSlice &slc, const CTP_t &inCTP)
void ScoreVertices(TCSlice &slc)
Definition of data types for geometry description.
void CompleteIncomplete3DVerticesInGaps(TCSlice &slc)
std::vector< TCSlice > slices
void FindVtxTjs(TCSlice &slc, VtxStore &vx2)
unsigned short IsCloseToVertex(TCSlice &slc, VtxStore &inVx2)
void SetHighScoreBits(TCSlice &slc, Vtx3Store &vx3)
bool AttachTrajToVertex(TCSlice &slc, Trajectory &tj, VtxStore &vx, bool prt)
void MakeJunkTjVertices(TCSlice &slc, const CTP_t &inCTP)
std::vector< int > GetVtxTjIDs(const TCSlice &slc, const VtxStore &vx2)
unsigned short Vx3Topo(TCSlice &slc, Vtx3Store &vx3)
void Find2DVertices(TCSlice &slc, const CTP_t &inCTP, unsigned short pass)
void KillPoorVertices(TCSlice &slc)
unsigned short TPNearVertex(TCSlice &slc, const TrajPoint &tp)
void SetVx2Score(TCSlice &slc)
void FindHammerVertices(TCSlice &slc, const CTP_t &inCTP)
void CompleteIncomplete3DVertices(TCSlice &slc)
std::vector< evd::details::RawDigitInfo_t >::const_iterator end(RawDigitCacheDataClass const &cache)
void FindNeutralVertices(TCSlice &slc)
void PosInPlane(const TCSlice &slc, const Vtx3Store &vx3, unsigned short plane, Point2_t &pos)
float VertexVertexPull(TCSlice &slc, const Vtx3Store &vx1, const Vtx3Store &vx2)
void MakeJunkVertices(TCSlice &slc, const CTP_t &inCTP)
void Find3DVertices(TCSlice &slc)
void FindHammerVertices2(TCSlice &slc, const CTP_t &inCTP)
void ChkVxTjs(TCSlice &slc, const CTP_t &inCTP, bool prt)
void Match3DVtxTjs(TCSlice &slc, bool prt)