18 class DetectorPropertiesData;
52 bool SetPoint3D(
const TVector3& p3d);
60 double GetDistToWall()
const;
63 bool SameTPC(
const TVector3& p3d,
float margin = 0.0F)
const;
64 bool SameTPC(
const pma::Vector3D& p3d,
float margin = 0.0F)
const;
67 bool IsBranching()
const;
70 bool IsTPCEdge()
const;
86 if (setAllNodes || !fIsVertex) fIsVertex = IsBranching();
89 std::vector<pma::Track3D*> GetBranches()
const;
92 double GetDistance2To(
const TVector3& p3d)
const override;
96 double GetDistance2To(
const TVector2& p2d,
unsigned int view)
const override;
114 double Length2()
const override;
117 double SegmentCos()
const;
121 double SegmentCosWirePlane()
const;
125 double SegmentCosTransverse()
const;
128 double GetObjFunction(
float penaltyValue,
float endSegWeight)
const;
133 void Optimize(
float penaltyValue,
float endSegWeight);
153 if (m >= 0.0) fMargin =
m;
161 double EndPtCos2Transverse()
const;
162 double PiInWirePlane()
const;
163 double PenaltyInWirePlane()
const;
165 double Pi(
float endSegWeight,
bool doAsymm)
const;
166 double Penalty(
float endSegWeight)
const;
169 double MakeGradient(
float penaltyValue,
float endSegWeight);
170 double StepWithGradient(
float alfa,
float tol,
float penalty,
float weight);
172 double SumDist2Hits()
const override;
176 double fMinX, fMaxX, fMinY, fMaxY,
fMinZ,
187 static bool fGradFixed[3];
void ApplyDriftShift(double dx)
TVector3 const & Point3D() const
void SetVertexToBranching(bool setAllNodes)
TVector2 const & Projection2D(unsigned int view) const
Geometry information for a single TPC.
void SetVertex(bool state)
static void SetMargin(double m)
Set allowed node position margin around TPC.
recob::tracking::Vector_t Vector3D
def MakeGradient(nsteps, start, end)
Implementation of the Projection Matching Algorithm.
double GetDriftShift() const
bool IsVertex() const
Check fIsVertex flag.
General LArSoft Utilities.
Implementation of the Projection Matching Algorithm.
TVector3 GetUnconstrainedProj3D(const TVector2 &p2d, unsigned int view) const override
In case of a node it is simply 3D position of the node.
geo::TPCGeo const & fTpcGeo
LArSoft geometry interface.
Implementation of the Projection Matching Algorithm.