ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
Public Types | Public Member Functions | Protected Member Functions | List of all members
AtPatterns::AtPatternLine Class Reference

Describes a linear track. More...

#include <AtPatternLine.h>

Inheritance diagram for AtPatterns::AtPatternLine:
Inheritance graph
[legend]
Collaboration diagram for AtPatterns::AtPatternLine:
Collaboration graph
[legend]

Public Types

using XYZPoint = ROOT::Math::XYZPoint
 
using XYZVector = ROOT::Math::XYZVector
 
- Public Types inherited from AtPatterns::AtPattern
using XYZPoint = ROOT::Math::XYZPoint
 

Public Member Functions

 AtPatternLine ()
 
XYZPoint GetPoint () const
 
XYZVector GetDirection () const
 
virtual void DefinePattern (const std::vector< XYZPoint > &points) override
 Define based on points. More...
 
virtual Double_t DistanceToPattern (const XYZPoint &point) const override
 Closest distance to pattern. More...
 
virtual XYZPoint ClosestPointOnPattern (const XYZPoint &point) const override
 Closest point on pattern. More...
 
virtual XYZPoint GetPointAt (double z) const override
 Get point on line at z. More...
 
virtual TEveElement * GetEveElement () const override
 Get visual representation of pattern. More...
 
virtual std::unique_ptr< AtPatternClone () const override
 
TEveLine * GetEveLine (Double_t rMax=250) const
 
- Public Member Functions inherited from AtPatterns::AtPattern
 AtPattern (Int_t numPoints=0)
 
 AtPattern (const AtPattern &)=default
 
 AtPattern (AtPattern &&)=default
 
virtual ~AtPattern ()=default
 
Double_t FitPattern (const std::vector< AtHit > &pointsToFit, Double_t qThreshold=-1)
 Fit the pattern. More...
 
Double_t FitPattern (const std::vector< const AtHit * > &pointsToFit, Double_t qThreshold=-1)
 
Double_t FitPattern (const std::vector< XYZPoint > &pointsToFit)
 Fit the pattern shape. More...
 
virtual void DefinePattern (std::vector< double > par)
 Define based on parameters. More...
 
TEveLine * GetEveLine (double tMin, double tMax, int n) const
 Get visual representation of pattern. More...
 
Int_t GetNumPoints () const
 Number of points to define the pattern. More...
 
Double_t GetChi2 () const
 
Int_t GetNFree () const
 
virtual std::vector< double > GetPatternPar () const
 Get list or parameters that describe the pattern. More...
 
Double_t GetTotCharge () const
 
void SetPatternPar (std::vector< double > par)
 
void SetChi2 (double chi2)
 

Protected Member Functions

std::vector< Double_t > lineIntersecR (Double_t rMax, Double_t tMin, Double_t tMax) const
 
virtual void FitPattern (const std::vector< XYZPoint > &points, const std::vector< double > &charge) override
 
double parameterAtPoint (const XYZPoint &point) const
 Get the parameter closes to compPoint. More...
 

Additional Inherited Members

- Protected Types inherited from AtPatterns::AtPattern
using TEveLineVec = std::vector< std::unique_ptr< TEveLine > >
 
- Protected Attributes inherited from AtPatterns::AtPattern
std::vector< Double_t > fPatternPar
 
Double_t fChi2 {NAN}
 
Int_t fNFree {0}
 
const Int_t fNumPoints
 
Double_t fTotCharge {0}
 

Detailed Description

Describes a linear track.

Definition at line 28 of file AtPatternLine.h.

Member Typedef Documentation

◆ XYZPoint

using AtPatterns::AtPatternLine::XYZPoint = ROOT::Math::XYZPoint

Definition at line 30 of file AtPatternLine.h.

◆ XYZVector

using AtPatterns::AtPatternLine::XYZVector = ROOT::Math::XYZVector

Definition at line 31 of file AtPatternLine.h.

Constructor & Destructor Documentation

◆ AtPatternLine()

AtPatternLine::AtPatternLine ( )

Definition at line 18 of file AtPatternLine.cxx.

Member Function Documentation

◆ Clone()

virtual std::unique_ptr<AtPattern> AtPatterns::AtPatternLine::Clone ( ) const
inlineoverridevirtual

Implements AtPatterns::AtPattern.

Reimplemented in AtPatterns::AtPatternRay.

Definition at line 42 of file AtPatternLine.h.

◆ ClosestPointOnPattern()

AtPatternLine::XYZPoint AtPatternLine::ClosestPointOnPattern ( const XYZPoint point) const
overridevirtual

Closest point on pattern.

Parameters
[in]pointPoint to get the closest point on the pattern.
Returns
Closest point on pattern

Implements AtPatterns::AtPattern.

Reimplemented in AtPatterns::AtPatternRay.

Definition at line 37 of file AtPatternLine.cxx.

◆ DefinePattern()

void AtPatternLine::DefinePattern ( const std::vector< XYZPoint > &  points)
overridevirtual

Define based on points.

Will set-up the pattern using the vector of XYZPoints. Assumes the size of points is equal to fNumPoints

Parameters
[in]points3D points to use when defining the pattern

Implements AtPatterns::AtPattern.

Reimplemented in AtPatterns::AtPatternRay.

Definition at line 53 of file AtPatternLine.cxx.

◆ DistanceToPattern()

Double_t AtPatternLine::DistanceToPattern ( const XYZPoint point) const
overridevirtual

Closest distance to pattern.

Parameters
[in]pointPoint to get the distance from.
Returns
distance from point to pattern in mm.

Implements AtPatterns::AtPattern.

Reimplemented in AtPatterns::AtPatternRay.

Definition at line 43 of file AtPatternLine.cxx.

◆ FitPattern()

void AtPatternLine::FitPattern ( const std::vector< XYZPoint > &  pointsToFit,
const std::vector< double > &  pointCharge 
)
overrideprotectedvirtual

Called by other versions of FitPattern. If pointCharge is not empty does charge weighted fit. Sets fPatternPar, fChi2, and fNFree

Implements AtPatterns::AtPattern.

Definition at line 79 of file AtPatternLine.cxx.

◆ GetDirection()

XYZVector AtPatterns::AtPatternLine::GetDirection ( ) const
inline

Definition at line 35 of file AtPatternLine.h.

◆ GetEveElement()

TEveElement * AtPatternLine::GetEveElement ( ) const
overridevirtual

Get visual representation of pattern.

Calls GetEveLine(double tMin, double tMax, int n) with reasonable defaults for the shape

Implements AtPatterns::AtPattern.

Reimplemented in AtPatterns::AtPatternRay.

Definition at line 20 of file AtPatternLine.cxx.

◆ GetEveLine()

TEveLine * AtPatternLine::GetEveLine ( Double_t  rMax = 250) const

Definition at line 175 of file AtPatternLine.cxx.

◆ GetPoint()

XYZPoint AtPatterns::AtPatternLine::GetPoint ( ) const
inline

Definition at line 34 of file AtPatternLine.h.

◆ GetPointAt()

AtPatternLine::XYZPoint AtPatternLine::GetPointAt ( double  z) const
overridevirtual

Get point on line at z.

Get point on line at z. If the line is parallel to Z, then return then the parameter passed has not defined physical interpretation

Parameters
[in]zLocation of point at z [mm]

Implements AtPatterns::AtPattern.

Reimplemented in AtPatterns::AtPatternRay.

Definition at line 74 of file AtPatternLine.cxx.

◆ lineIntersecR()

std::vector< Double_t > AtPatternLine::lineIntersecR ( Double_t  rMax,
Double_t  tMin,
Double_t  tMax 
) const
protected

Definition at line 198 of file AtPatternLine.cxx.

◆ parameterAtPoint()

double AtPatternLine::parameterAtPoint ( const XYZPoint compPoint) const
protected

Get the parameter closes to compPoint.

The clossest point on the line to compPoint is then GetPointAt(return value)

Parameters
[in]Thepoint to compare the line to
Returns
The parameter of the point along the line closest to compPoint

Definition at line 32 of file AtPatternLine.cxx.


The documentation for this class was generated from the following files: