9 #ifndef TRAJCLUSTERALGVERTEX_H
10 #define TRAJCLUSTERALGVERTEX_H
19 class DetectorPropertiesData;
27 extern std::vector<TCSlice>
slices;
35 bool MergeWithVertex(TCSlice& slc, VtxStore& vx2,
unsigned short existingVxID);
40 bool Reconcile2VTs(TCSlice& slc, std::vector<int>& vx2cls,
bool prt);
47 unsigned short& nearPt,
50 unsigned short TPNearVertex(
const TCSlice& slc,
const TrajPoint& tp);
56 float VertexVertexPull(
const TCSlice& slc,
const Vtx3Store& vx1,
const Vtx3Store& vx2);
57 float VertexVertexPull(
const TCSlice& slc,
const VtxStore& vx1,
const VtxStore& vx2);
58 bool FitVertex(TCSlice& slc, VtxStore& vx,
bool prt);
59 bool FitVertex(TCSlice& slc, VtxStore& vx, std::vector<TrajPoint>& vxTp,
bool prt);
68 bool MakeVertexObsolete(std::string fcnLabel, TCSlice& slc, VtxStore& vx2,
bool forceKill);
70 std::vector<int>
GetVtxTjIDs(
const TCSlice& slc,
const VtxStore& vx2);
71 std::vector<int>
GetVtxTjIDs(
const TCSlice& slc,
const Vtx3Store& vx3,
float&
score);
78 unsigned short IsCloseToVertex(
const TCSlice& slc,
const Vtx3Store& vx3);
81 #endif // ifndef TRAJCLUSTERALGVERTEX_H
bool MergeWithVertex(TCSlice &slc, VtxStore &vx, unsigned short oVxID)
bool MakeVertexObsolete(std::string fcnLabel, TCSlice &slc, VtxStore &vx2, bool forceKill)
float TrajPointVertexPull(const TCSlice &slc, const TrajPoint &tp, const VtxStore &vx)
bool AttachAnyVertexToTraj(TCSlice &slc, int tjID, bool prt)
void CompleteIncomplete3DVerticesInGaps(detinfo::DetectorPropertiesData const &detProp, TCSlice &slc)
bool FitVertex(TCSlice &slc, VtxStore &vx, bool prt)
void Find3DVertices(detinfo::DetectorPropertiesData const &detProp, TCSlice &slc)
void SplitTrajCrossingVertices(TCSlice &slc, CTP_t inCTP)
void Reconcile2Vs(TCSlice &slc)
BEGIN_PROLOG or score(default)}sbnd_crttrackmatchingalg_crID
bool RefineVtxPosition(TCSlice &slc, const Trajectory &tj, unsigned short &nearPt, short nPtsToChk, bool prt)
void PosInPlane(detinfo::DetectorPropertiesData const &detProp, const TCSlice &slc, const Vtx3Store &vx3, unsigned short plane, Point2_t &pos)
bool AttachAnyTrajToVertex(TCSlice &slc, unsigned short ivx, bool prt)
unsigned short TPNearVertex(const TCSlice &slc, const TrajPoint &tp)
void SetVx3Score(TCSlice &slc, Vtx3Store &vx3)
void CompleteIncomplete3DVertices(detinfo::DetectorPropertiesData const &detProp, TCSlice &slc)
bool StoreVertex(TCSlice &slc, VtxStore &vx)
std::array< float, 2 > Point2_t
bool ChkVtxAssociations(TCSlice &slc, const CTP_t &inCTP)
bool Reconcile2VTs(TCSlice &slc, std::vector< int > &vx2cls, bool prt)
void ScoreVertices(TCSlice &slc)
std::vector< TCSlice > slices
unsigned short IsCloseToVertex(const TCSlice &slc, const VtxStore &inVx2)
float VertexVertexPull(const TCSlice &slc, const Vtx3Store &vx1, const Vtx3Store &vx2)
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)
void KillPoorVertices(TCSlice &slc)
void SetVx2Score(TCSlice &slc)
void FindHammerVertices(TCSlice &slc, const CTP_t &inCTP)
void MakeJunkVertices(TCSlice &slc, const CTP_t &inCTP)
void Find2DVertices(detinfo::DetectorPropertiesData const &detProp, TCSlice &slc, const CTP_t &inCTP, unsigned short pass)
void FindHammerVertices2(TCSlice &slc, const CTP_t &inCTP)
bool AttachToAnyVertex(TCSlice &slc, PFPStruct &pfp, float maxSep, bool prt)