18 class DetectorPropertiesData;
63 bool SameTPC(
const TVector3& p3d,
float margin = 0.0
F)
const;
96 double GetDistance2To(
const TVector2& p2d,
unsigned int view)
const override;
114 double Length2()
const override;
128 double GetObjFunction(
float penaltyValue,
float endSegWeight)
const;
133 void Optimize(
float penaltyValue,
float endSegWeight);
165 double Pi(
float endSegWeight,
bool doAsymm)
const;
166 double Penalty(
float endSegWeight)
const;
169 double MakeGradient(
float penaltyValue,
float endSegWeight);
void ApplyDriftShift(double dx)
TVector3 const & Point3D() const
void SetVertexToBranching(bool setAllNodes)
TVector2 const & Projection2D(unsigned int view) const
TVector3 GetUnconstrainedProj3D(const TVector2 &p2d, unsigned int view) const override
In case of a node it is simply 3D position of the node.
double Penalty(float endSegWeight) const
void ClearAssigned(pma::Track3D *trk=0) override
Geometry information for a single TPC.
bool LimitPoint3D()
Returns true if node position was trimmed to its TPC volume + fMargin.
std::vector< pma::Track3D * > GetBranches() const
void Optimize(float penaltyValue, float endSegWeight)
void SetVertex(bool state)
static void SetMargin(double m)
Set allowed node position margin around TPC.
bool IsTPCEdge() const
Is the first/last in this TPC?
recob::tracking::Vector_t Vector3D
tuple m
now if test mode generate materials, CRT shell, world, gdml header else just generate CRT shell for u...
static bool fGradFixed[3]
double SegmentCosWirePlane() const
double PenaltyInWirePlane() const
double Length2() const override
Implementation of the Projection Matching Algorithm.
double GetDistToWall() const
double SumDist2Hits() const override
double PiInWirePlane() const
double SegmentCos() const
Cosine of 3D angle between connected segments.
double GetDriftShift() const
bool SetPoint3D(const TVector3 &p3d)
double StepWithGradient(float alfa, float tol, float penalty, float weight)
double SegmentCosTransverse() const
void SetProjection(pma::Hit3D &h) const override
Set hit 3D position and its 2D projection to the vertex.
bool IsVertex() const
Check fIsVertex flag.
double EndPtCos2Transverse() const
bool SameTPC(const TVector3 &p3d, float margin=0.0F) const
Check if p3d is in the same TPC as the node.
double GetDistance2To(const TVector3 &p3d) const override
Distance [cm] from the 3D point to the point 3D.
double MakeGradient(float penaltyValue, float endSegWeight)
double GetObjFunction(float penaltyValue, float endSegWeight) const
Objective function minimized during oprimization.
bool IsBranching() const
Belongs to more than one track?
geo::TPCGeo const & fTpcGeo
pma::Vector3D GetDirection3D() const override
double Pi(float endSegWeight, bool doAsymm) const
Implementation of the Projection Matching Algorithm.