18 class DetectorPropertiesData;
44 TVector3
const&
Point3D()
const {
return fPoint3D; }
48 bool SetPoint3D(
const TVector3& p3d);
50 TVector2
const&
Projection2D(
unsigned int view)
const {
return fProj2D[view]; }
52 double GetDistToWall()
const;
55 bool SameTPC(
const TVector3& p3d,
float margin = 0.0F)
const;
56 bool SameTPC(
const pma::Vector3D& p3d,
float margin = 0.0F)
const;
59 bool IsBranching()
const;
62 bool IsTPCEdge()
const;
69 if (setAllNodes || !fIsVertex) fIsVertex = IsBranching();
72 std::vector<pma::Track3D*> GetBranches()
const;
75 double GetDistance2To(
const TVector3& p3d)
const override;
79 double GetDistance2To(
const TVector2& p2d,
unsigned int view)
const override;
89 void SetProjection(
pma::Hit3D& h)
const override;
93 double Length2()
const override;
96 double SegmentCos()
const;
100 double SegmentCosWirePlane()
const;
104 double SegmentCosTransverse()
const;
107 double GetObjFunction(
float penaltyValue,
float endSegWeight)
const;
112 void Optimize(
float penaltyValue,
float endSegWeight);
126 if (m >= 0.0) fMargin = m;
134 double EndPtCos2Transverse()
const;
135 double PiInWirePlane()
const;
136 double PenaltyInWirePlane()
const;
138 double Pi(
float endSegWeight,
bool doAsymm)
const;
139 double Penalty(
float endSegWeight)
const;
142 double MakeGradient(
float penaltyValue,
float endSegWeight);
143 double StepWithGradient(
float alfa,
float tol,
float penalty,
float weight);
145 double SumDist2Hits()
const override;
149 double fMinX, fMaxX, fMinY, fMaxY,
fMinZ,
160 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.
double GetDriftShift() const
bool IsVertex() const
Check fIsVertex flag.
General LArSoft Utilities.
Implementation of the Projection Matching Algorithm.
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
Namespace collecting geometry-related classes utilities.
Implementation of the Projection Matching Algorithm.