19 class DetectorPropertiesData;
41 TVector3
const&
Point3D()
const {
return fPoint3D; }
45 bool SetPoint3D(
const TVector3& p3d);
47 TVector2
const&
Projection2D(
unsigned int view)
const {
return fProj2D[view]; }
49 double GetDistToWall()
const;
52 bool SameTPC(
const TVector3& p3d,
float margin = 0.0F)
const;
53 bool SameTPC(
const pma::Vector3D& p3d,
float margin = 0.0F)
const;
56 bool IsBranching()
const;
59 bool IsTPCEdge()
const;
66 if (setAllNodes || !fIsVertex) fIsVertex = IsBranching();
69 std::vector<pma::Track3D*> GetBranches()
const;
72 double GetDistance2To(
const TVector3& p3d)
const override;
76 double GetDistance2To(
const TVector2& p2d,
unsigned int view)
const override;
86 void SetProjection(
pma::Hit3D& h)
const override;
90 double Length2()
const override;
93 double SegmentCos()
const;
97 double SegmentCosWirePlane()
const;
101 double SegmentCosTransverse()
const;
104 double GetObjFunction(
float penaltyValue,
float endSegWeight)
const;
109 void Optimize(
float penaltyValue,
float endSegWeight);
123 if (m >= 0.0) fMargin = m;
131 double EndPtCos2Transverse()
const;
132 double PiInWirePlane()
const;
133 double PenaltyInWirePlane()
const;
135 double Pi(
float endSegWeight,
bool doAsymm)
const;
136 double Penalty(
float endSegWeight)
const;
139 double MakeGradient(
float penaltyValue,
float endSegWeight);
140 double StepWithGradient(
float alfa,
float tol,
float penalty,
float weight);
142 double SumDist2Hits()
const override;
147 double fMinX, fMaxX, fMinY, fMaxY,
fMinZ,
158 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
Implementation of the Projection Matching Algorithm.
Interface for a class providing readout channel mapping to geometry.
double GetDriftShift() const
bool IsVertex() const
Check fIsVertex flag.
General LArSoft Utilities.
Implementation of the Projection Matching Algorithm.
geo::WireReadoutGeom const & fChannelMap
TVector3 GetUnconstrainedProj3D(const TVector2 &, unsigned int) const override
In case of a node it is simply 3D position of the node.
geo::TPCGeo const & fTpcGeo
Implementation of the Projection Matching Algorithm.