ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Friends | List of all members
AtTrack Class Reference

#include <AtTrack.h>

Inheritance diagram for AtTrack:
Inheritance graph
[legend]
Collaboration diagram for AtTrack:
Collaboration graph
[legend]

Public Member Functions

 AtTrack ()=default
 
 AtTrack (const AtTrack &obj)
 
AtTrackoperator= (AtTrack obj)
 Copy assignment using copy-swap idiom. More...
 
 AtTrack (AtTrack &&)=default
 
 ~AtTrack ()=default
 
Int_t GetTrackID () const
 
HitVectorGetHitArray ()
 
const HitVectorGetHitArray () const
 
std::vector< AtHitGetHitArrayObject ()
 
const AtPatterns::AtPatternGetPattern () const
 
Double_t GetGeoTheta () const
 
Double_t GetGeoPhi () const
 
Double_t GetGeoRadius () const
 
std::pair< Double_t, Double_t > GetGeoCenter () const
 
std::vector< AtHitCluster > * GetHitClusterArray ()
 
Bool_t GetIsMerged () const
 
Double_t GetVertexToZDist () const
 
void SetTrackID (Int_t val)
 
void AddHit (const AtHit &hit)
 
void AddHit (HitPtr hit)
 
void SetPattern (std::unique_ptr< AtPatterns::AtPattern > pat)
 
void SetGeoTheta (Double_t angle)
 
void SetGeoPhi (Double_t angle)
 
void SetGeoRadius (Double_t radius)
 
void SetGeoCenter (std::pair< Double_t, Double_t > center)
 
void AddClusterHit (std::shared_ptr< AtHitCluster > hitCluster)
 
void SetIsMerged (bool val)
 
void SetVertexToZDist (Double_t val)
 
void ResetHitClusterArray ()
 
Double_t GetMeanTime ()
 
Double_t GetLinearRange ()
 
Double_t GetLinearRange (XYZPoint vertex)
 
Double_t GetGeoQEnergy ()
 
XYZPoint GetLastPoint ()
 
XYZPoint GetFirstPoint ()
 
void SortHitArrayTime ()
 
void SortClusterHitArrayZ ()
 

Static Public Member Functions

static Double_t GetLinearRange (const XYZPoint &vertex, const XYZPoint &maxPos)
 

Protected Types

using XYZPoint = ROOT::Math::XYZPoint
 
using HitPtr = std::unique_ptr< AtHit >
 
using HitVector = std::vector< HitPtr >
 
using PatternPtr = std::unique_ptr< AtPatterns::AtPattern >
 

Protected Member Functions

 ClassDef (AtTrack, 3)
 

Static Protected Member Functions

static Bool_t SortClusterHitZ (const AtHitCluster &lhs, const AtHitCluster &rhs)
 

Protected Attributes

Int_t fTrackID {-1}
 
HitVector fHitArray
 
PatternPtr fPattern {nullptr}
 
Bool_t fIsMerged {false}
 
Double_t fVertexToZDist {0}
 
Double_t fGeoThetaAngle {}
 
Double_t fGeoPhiAngle {}
 
Double_t fGeoRadius {}
 
std::pair< Double_t, Double_t > fGeoCenter
 
std::vector< AtHitClusterfHitClusterArray
 

Friends

void swap (AtTrack &a, AtTrack &b) noexcept
 ADL-findable swap for AtTrack. More...
 
std::ostream & operator<< (std::ostream &o, const AtTrack &track)
 

Detailed Description

Definition at line 25 of file AtTrack.h.

Member Typedef Documentation

◆ HitPtr

using AtTrack::HitPtr = std::unique_ptr<AtHit>
protected

Definition at line 29 of file AtTrack.h.

◆ HitVector

using AtTrack::HitVector = std::vector<HitPtr>
protected

Definition at line 30 of file AtTrack.h.

◆ PatternPtr

using AtTrack::PatternPtr = std::unique_ptr<AtPatterns::AtPattern>
protected

Definition at line 31 of file AtTrack.h.

◆ XYZPoint

using AtTrack::XYZPoint = ROOT::Math::XYZPoint
protected

Definition at line 28 of file AtTrack.h.

Constructor & Destructor Documentation

◆ AtTrack() [1/3]

AtTrack::AtTrack ( )
default

◆ AtTrack() [2/3]

AtTrack::AtTrack ( const AtTrack obj)

Definition at line 28 of file AtTrack.cxx.

◆ AtTrack() [3/3]

AtTrack::AtTrack ( AtTrack &&  )
default

◆ ~AtTrack()

AtTrack::~AtTrack ( )
default

Member Function Documentation

◆ AddClusterHit()

void AtTrack::AddClusterHit ( std::shared_ptr< AtHitCluster hitCluster)

Definition at line 38 of file AtTrack.cxx.

◆ AddHit() [1/2]

void AtTrack::AddHit ( const AtHit hit)
inline

Definition at line 97 of file AtTrack.h.

◆ AddHit() [2/2]

void AtTrack::AddHit ( HitPtr  hit)
inline

Definition at line 98 of file AtTrack.h.

◆ ClassDef()

AtTrack::ClassDef ( AtTrack  ,
 
)
protected

◆ GetFirstPoint()

AtTrack::XYZPoint AtTrack::GetFirstPoint ( )

Definition at line 57 of file AtTrack.cxx.

◆ GetGeoCenter()

std::pair<Double_t, Double_t> AtTrack::GetGeoCenter ( ) const
inline

Definition at line 89 of file AtTrack.h.

◆ GetGeoPhi()

Double_t AtTrack::GetGeoPhi ( ) const
inline

Definition at line 87 of file AtTrack.h.

◆ GetGeoQEnergy()

Double_t AtTrack::GetGeoQEnergy ( )

Definition at line 107 of file AtTrack.cxx.

◆ GetGeoRadius()

Double_t AtTrack::GetGeoRadius ( ) const
inline

Definition at line 88 of file AtTrack.h.

◆ GetGeoTheta()

Double_t AtTrack::GetGeoTheta ( ) const
inline

Definition at line 86 of file AtTrack.h.

◆ GetHitArray() [1/2]

HitVector& AtTrack::GetHitArray ( )
inline

Definition at line 79 of file AtTrack.h.

◆ GetHitArray() [2/2]

const HitVector& AtTrack::GetHitArray ( ) const
inline

Definition at line 80 of file AtTrack.h.

◆ GetHitArrayObject()

std::vector<AtHit> AtTrack::GetHitArrayObject ( )
inline

Definition at line 82 of file AtTrack.h.

◆ GetHitClusterArray()

std::vector<AtHitCluster>* AtTrack::GetHitClusterArray ( )
inline

Definition at line 90 of file AtTrack.h.

◆ GetIsMerged()

Bool_t AtTrack::GetIsMerged ( ) const
inline

Definition at line 92 of file AtTrack.h.

◆ GetLastPoint()

AtTrack::XYZPoint AtTrack::GetLastPoint ( )

Definition at line 43 of file AtTrack.cxx.

◆ GetLinearRange() [1/3]

Double_t AtTrack::GetLinearRange ( )

Definition at line 83 of file AtTrack.cxx.

◆ GetLinearRange() [2/3]

Double_t AtTrack::GetLinearRange ( const XYZPoint vertex,
const XYZPoint maxPos 
)
static

Definition at line 102 of file AtTrack.cxx.

◆ GetLinearRange() [3/3]

Double_t AtTrack::GetLinearRange ( XYZPoint  vertex)

Definition at line 93 of file AtTrack.cxx.

◆ GetMeanTime()

Double_t AtTrack::GetMeanTime ( )

Definition at line 71 of file AtTrack.cxx.

◆ GetPattern()

const AtPatterns::AtPattern* AtTrack::GetPattern ( ) const
inline

Definition at line 84 of file AtTrack.h.

◆ GetTrackID()

Int_t AtTrack::GetTrackID ( ) const
inline

Definition at line 78 of file AtTrack.h.

◆ GetVertexToZDist()

Double_t AtTrack::GetVertexToZDist ( ) const
inline

Definition at line 93 of file AtTrack.h.

◆ operator=()

AtTrack & AtTrack::operator= ( AtTrack  obj)

Copy assignment using copy-swap idiom.

Definition at line 22 of file AtTrack.cxx.

◆ ResetHitClusterArray()

void AtTrack::ResetHitClusterArray ( )
inline

Definition at line 111 of file AtTrack.h.

◆ SetGeoCenter()

void AtTrack::SetGeoCenter ( std::pair< Double_t, Double_t >  center)
inline

Definition at line 104 of file AtTrack.h.

◆ SetGeoPhi()

void AtTrack::SetGeoPhi ( Double_t  angle)
inline

Definition at line 102 of file AtTrack.h.

◆ SetGeoRadius()

void AtTrack::SetGeoRadius ( Double_t  radius)
inline

Definition at line 103 of file AtTrack.h.

◆ SetGeoTheta()

void AtTrack::SetGeoTheta ( Double_t  angle)
inline

Definition at line 101 of file AtTrack.h.

◆ SetIsMerged()

void AtTrack::SetIsMerged ( bool  val)
inline

Definition at line 107 of file AtTrack.h.

◆ SetPattern()

void AtTrack::SetPattern ( std::unique_ptr< AtPatterns::AtPattern pat)
inline

Definition at line 99 of file AtTrack.h.

◆ SetTrackID()

void AtTrack::SetTrackID ( Int_t  val)
inline

Definition at line 96 of file AtTrack.h.

◆ SetVertexToZDist()

void AtTrack::SetVertexToZDist ( Double_t  val)
inline

Definition at line 108 of file AtTrack.h.

◆ SortClusterHitArrayZ()

void AtTrack::SortClusterHitArrayZ ( )

Definition at line 124 of file AtTrack.cxx.

◆ SortClusterHitZ()

static Bool_t AtTrack::SortClusterHitZ ( const AtHitCluster lhs,
const AtHitCluster rhs 
)
inlinestaticprotected

Definition at line 126 of file AtTrack.h.

◆ SortHitArrayTime()

void AtTrack::SortHitArrayTime ( )

Definition at line 119 of file AtTrack.cxx.

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  o,
const AtTrack track 
)
friend

Definition at line 131 of file AtTrack.h.

◆ swap

void swap ( AtTrack a,
AtTrack b 
)
friend

ADL-findable swap for AtTrack.

Implemented as a friend free function to enable ADL of swap. (https://en.cppreference.com/w/cpp/language/adl)

Definition at line 60 of file AtTrack.h.

Member Data Documentation

◆ fGeoCenter

std::pair<Double_t, Double_t> AtTrack::fGeoCenter
protected

Definition at line 44 of file AtTrack.h.

◆ fGeoPhiAngle

Double_t AtTrack::fGeoPhiAngle {}
protected

Definition at line 42 of file AtTrack.h.

◆ fGeoRadius

Double_t AtTrack::fGeoRadius {}
protected

Definition at line 43 of file AtTrack.h.

◆ fGeoThetaAngle

Double_t AtTrack::fGeoThetaAngle {}
protected

Definition at line 41 of file AtTrack.h.

◆ fHitArray

HitVector AtTrack::fHitArray
protected

Definition at line 35 of file AtTrack.h.

◆ fHitClusterArray

std::vector<AtHitCluster> AtTrack::fHitClusterArray
protected

Definition at line 45 of file AtTrack.h.

◆ fIsMerged

Bool_t AtTrack::fIsMerged {false}
protected

Definition at line 37 of file AtTrack.h.

◆ fPattern

PatternPtr AtTrack::fPattern {nullptr}
protected

Definition at line 36 of file AtTrack.h.

◆ fTrackID

Int_t AtTrack::fTrackID {-1}
protected

Definition at line 34 of file AtTrack.h.

◆ fVertexToZDist

Double_t AtTrack::fVertexToZDist {0}
protected

Definition at line 38 of file AtTrack.h.


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