CbmRoot
Loading...
Searching...
No Matches
cbm::algo::ca::TrackExtender Class Reference

#include <CaTrackExtender.h>

Collaboration diagram for cbm::algo::ca::TrackExtender:
[legend]

Public Member Functions

 TrackExtender (const ca::Parameters< fvec > &pars, const fscal mass)
 Default constructor.
 
 ~TrackExtender ()
 Destructor.
 
 TrackExtender (const TrackExtender &)=default
 Copy constructor.
 
 TrackExtender (TrackExtender &&)=default
 Move constructor.
 
TrackExtenderoperator= (const TrackExtender &)=delete
 Copy assignment operator.
 
TrackExtenderoperator= (TrackExtender &&)=delete
 Move assignment operator.
 
fscal ExtendBranch (ca::Branch &t, WindowData &wData)
 Try to extrapolate and find additional hits on other stations.
 

Private Member Functions

void FindMoreHits (ca::Branch &t, TrackParamV &T, const kf::FitDirection direction, const fvec qp0)
 
void FitBranch (const ca::Branch &t, TrackParamV &T, const kf::FitDirection direction, const fvec qp0, const bool initParams=true)
 like BranchFitterFast but more precise
 
void FitBranchFast (const ca::Branch &t, TrackParamV &T, const kf::FitDirection direction, const fvec qp0, const bool initParams=true)
 

Private Attributes

const Parameters< fvec > & fParameters
 Object of Framework parameters class.
 
const cbm::algo::kf::Setup< fvec > & fSetup
 
const cbm::algo::kf::Field< fvec > & fField
 
WindowDatafrWData
 
fscal fDefaultMass {constants::phys::MuonMass}
 mass of the propagated particle [GeV/c2]
 

Detailed Description

Class implements a clones merger algorithm for the CA track finder

Definition at line 30 of file CaTrackExtender.h.

Constructor & Destructor Documentation

◆ TrackExtender() [1/3]

cbm::algo::ca::TrackExtender::TrackExtender ( const ca::Parameters< fvec > & pars,
const fscal mass )

Default constructor.

Definition at line 26 of file CaTrackExtender.cxx.

References fDefaultMass, fField, fParameters, and fSetup.

Referenced by operator=(), operator=(), TrackExtender(), and TrackExtender().

◆ ~TrackExtender()

cbm::algo::ca::TrackExtender::~TrackExtender ( )

Destructor.

Definition at line 37 of file CaTrackExtender.cxx.

◆ TrackExtender() [2/3]

cbm::algo::ca::TrackExtender::TrackExtender ( const TrackExtender & )
default

Copy constructor.

References TrackExtender().

◆ TrackExtender() [3/3]

cbm::algo::ca::TrackExtender::TrackExtender ( TrackExtender && )
default

Move constructor.

References TrackExtender().

Member Function Documentation

◆ ExtendBranch()

fscal cbm::algo::ca::TrackExtender::ExtendBranch ( ca::Branch & t,
WindowData & wData )

Try to extrapolate and find additional hits on other stations.

Find additional hits for existing track both downstream and upstream

Returns
chi2

Definition at line 293 of file CaTrackExtender.cxx.

References FindMoreHits(), FitBranch(), FitBranchFast(), frWData, cbm::algo::kf::kDownstream, and cbm::algo::kf::kUpstream.

◆ FindMoreHits()

void cbm::algo::ca::TrackExtender::FindMoreHits ( ca::Branch & t,
TrackParamV & T,
const kf::FitDirection direction,
const fvec qp0 )
private

Private methods Finds additional hits for already found track in the given direction

Parameters
t- track with hits
T- track params
dir- 0 - forward, 1 - backward
qp0- momentum value to linearize the extrapolation

Definition at line 144 of file CaTrackExtender.cxx.

References cbm::algo::ca::_fvecalignment, cbm::algo::ca::Hit::BackKey(), cbm::algo::ca::GridArea::DoLoopOverEntireGrid(), cbm::algo::kf::TrackKalmanFilter< DataT, Settings >::EnergyLossCorrection(), cbm::algo::ca::Vector< T >::enlarge(), cbm::algo::kf::TrackKalmanFilter< DataT, Settings >::Extrapolate(), cbm::algo::kf::TrackKalmanFilter< DataT, Settings >::ExtrapolateLineXdX2(), cbm::algo::kf::TrackKalmanFilter< DataT, Settings >::ExtrapolateLineYdY2(), cbm::algo::kf::utils::fabs(), fDefaultMass, fField, cbm::algo::ca::utils::FilterHit(), fParameters, cbm::algo::ca::Hit::FrontKey(), frWData, fSetup, cbm::algo::ca::GridArea::GetNextObjectId(), cbm::algo::ca::Branch::Hits(), cbm::algo::kf::kUpstream, cbm::algo::kf::TrackKalmanFilter< DataT, Settings >::Linearization(), cbm::algo::kf::TrackKalmanFilter< DataT, Settings >::MultipleScattering(), cbm::algo::ca::Branch::NofHits(), cbm::algo::kf::fmask::One(), cbm::algo::ca::Hit::RangeT(), cbm::algo::ca::Branch::RefHits(), cbm::algo::ca::Vector< T >::reserve(), cbm::algo::kf::TrackKalmanFilter< DataT, Settings >::SetMask(), cbm::algo::kf::TrackKalmanFilter< DataT, Settings >::SetParticleMass(), cbm::algo::kf::TrackKalmanFilter< DataT, Settings >::SetTrack(), sqrt(), cbm::algo::ca::Hit::Station(), cbm::algo::ca::Hit::T(), cbm::algo::kf::TrackKalmanFilter< DataT, Settings >::Tr(), cbm::algo::ca::Hit::X(), x, cbm::algo::ca::Hit::Y(), y, and cbm::algo::ca::Hit::Z().

Referenced by ExtendBranch().

◆ FitBranch()

void cbm::algo::ca::TrackExtender::FitBranch ( const ca::Branch & t,
TrackParamV & T,
const kf::FitDirection direction,
const fvec qp0,
const bool initParams = true )
private

like BranchFitterFast but more precise

Fits the branch. Does few passes over the hits.

Parameters
t- track branch with hits
T- track parameters
dir- false - forward, true - backward
qp0- momentum value to linearize the extrapolation
initParams- should params be ititialized. 1 - yes.

Definition at line 133 of file CaTrackExtender.cxx.

References FitBranchFast().

Referenced by ExtendBranch().

◆ FitBranchFast()

void cbm::algo::ca::TrackExtender::FitBranchFast ( const ca::Branch & t,
TrackParamV & T,
const kf::FitDirection direction,
const fvec qp0,
const bool initParams = true )
private

◆ operator=() [1/2]

TrackExtender & cbm::algo::ca::TrackExtender::operator= ( const TrackExtender & )
delete

Copy assignment operator.

References TrackExtender().

◆ operator=() [2/2]

TrackExtender & cbm::algo::ca::TrackExtender::operator= ( TrackExtender && )
delete

Move assignment operator.

References TrackExtender().

Member Data Documentation

◆ fDefaultMass

fscal cbm::algo::ca::TrackExtender::fDefaultMass {constants::phys::MuonMass}
private

mass of the propagated particle [GeV/c2]

Definition at line 94 of file CaTrackExtender.h.

Referenced by FindMoreHits(), FitBranchFast(), and TrackExtender().

◆ fField

const cbm::algo::kf::Field<fvec>& cbm::algo::ca::TrackExtender::fField
private

Definition at line 92 of file CaTrackExtender.h.

Referenced by FindMoreHits(), FitBranchFast(), and TrackExtender().

◆ fParameters

const Parameters<fvec>& cbm::algo::ca::TrackExtender::fParameters
private

Object of Framework parameters class.


Data members

Definition at line 90 of file CaTrackExtender.h.

Referenced by FindMoreHits(), and TrackExtender().

◆ frWData

WindowData* cbm::algo::ca::TrackExtender::frWData
private

Definition at line 93 of file CaTrackExtender.h.

Referenced by ExtendBranch(), FindMoreHits(), and FitBranchFast().

◆ fSetup

const cbm::algo::kf::Setup<fvec>& cbm::algo::ca::TrackExtender::fSetup
private

Definition at line 91 of file CaTrackExtender.h.

Referenced by FindMoreHits(), FitBranchFast(), and TrackExtender().


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