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

Describes a circle track projected to the XY plane. More...

#include <AtPatternCircle2D.h>

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

Public Member Functions

 AtPatternCircle2D ()
 
XYZPoint GetCenter () const
 
double GetRadius () 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 theta) const override
 Point on pattern at t. More...
 
virtual TEveElement * GetEveElement () const override
 Get visual representation of pattern. More...
 
virtual std::unique_ptr< AtPatternClone () const override
 
- 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

virtual void FitPattern (const std::vector< XYZPoint > &points, const std::vector< double > &charge) override
 

Additional Inherited Members

- Public Types inherited from AtPatterns::AtPattern
using XYZPoint = ROOT::Math::XYZPoint
 
- 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 circle track projected to the XY plane.

Definition at line 26 of file AtPatternCircle2D.h.

Constructor & Destructor Documentation

◆ AtPatternCircle2D()

AtPatternCircle2D::AtPatternCircle2D ( )

Definition at line 19 of file AtPatternCircle2D.cxx.

Member Function Documentation

◆ Clone()

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

Implements AtPatterns::AtPattern.

Definition at line 38 of file AtPatternCircle2D.h.

◆ ClosestPointOnPattern()

XYZPoint AtPatternCircle2D::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.

Definition at line 53 of file AtPatternCircle2D.cxx.

◆ DefinePattern()

void AtPatternCircle2D::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.

Definition at line 25 of file AtPatternCircle2D.cxx.

◆ DistanceToPattern()

Double_t AtPatternCircle2D::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.

Definition at line 47 of file AtPatternCircle2D.cxx.

◆ FitPattern()

void AtPatternCircle2D::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 64 of file AtPatternCircle2D.cxx.

◆ GetCenter()

XYZPoint AtPatterns::AtPatternCircle2D::GetCenter ( ) const
inline

Definition at line 30 of file AtPatternCircle2D.h.

◆ GetEveElement()

TEveElement * AtPatternCircle2D::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.

Definition at line 20 of file AtPatternCircle2D.cxx.

◆ GetPointAt()

XYZPoint AtPatternCircle2D::GetPointAt ( double  t) const
overridevirtual

Point on pattern at t.

Get the point on the pattern at parameter t. What t physically represents is pattern dependent.

Todo:
Generalize for multi-valued patterns

Implements AtPatterns::AtPattern.

Definition at line 59 of file AtPatternCircle2D.cxx.

◆ GetRadius()

double AtPatterns::AtPatternCircle2D::GetRadius ( ) const
inline

Definition at line 31 of file AtPatternCircle2D.h.


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