EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HelixKalman Class Referenceabstract

#include <fun4all_coresoftware/blob/master/offline/packages/HelixHough/helix_hough/Kalman/HelixKalman.h>

+ Inheritance diagram for HelixKalman:

Public Member Functions

 HelixKalman (float B)
 
virtual ~HelixKalman ()
 
void addHit (SimpleHit3D &hit, HelixKalmanState &state)
 

Protected Member Functions

virtual void calculateProjections (SimpleHit3D &hit, HelixKalmanState &state, Eigen::Matrix< float, 2, 5 > &H, Eigen::Matrix< float, 2, 1 > &ha)=0
 
virtual void calculateMeasurements (SimpleHit3D &hit, Eigen::Matrix< float, 2, 1 > &m, Eigen::Matrix< float, 2, 2 > &G)=0
 
virtual bool calculateScatteringVariance (HelixKalmanState &state, float &var)=0
 
virtual void updateIntersection (HelixKalmanState &state, int layer)=0
 
virtual void subtractProjections (Eigen::Matrix< float, 2, 1 > &m, Eigen::Matrix< float, 2, 1 > &ha, Eigen::Matrix< float, 2, 1 > &diff)
 
void calculateMSCovariance (HelixKalmanState &state, Eigen::Matrix< float, 5, 5 > &Q)
 
void calculate_dbdt (Eigen::Matrix< float, 3, 2 > &dbdt_out)
 
void calculate_dpdb (Eigen::Vector3f &p, Eigen::Matrix< float, 3, 3 > &dpdb)
 
void calculate_dApdp (HelixKalmanState &state, Eigen::Matrix< float, 3, 3 > &dApdp, Eigen::Vector3f &p, float phi, float cosphi, float sinphi)
 
void calculate_dAdAp (HelixKalmanState &state, Eigen::Matrix< float, 5, 3 > &dAdAp, float &phi_p, float &cosphi_p, float &sinphi_p)
 

Protected Attributes

float Bfield
 
float Bfield_inv
 

Detailed Description

Definition at line 10 of file HelixKalman.h.

View newest version in sPHENIX GitHub at line 10 of file HelixKalman.h

Constructor & Destructor Documentation

HelixKalman::HelixKalman ( float  B)

Definition at line 18 of file HelixKalman.cpp.

View newest version in sPHENIX GitHub at line 18 of file HelixKalman.cpp

HelixKalman::~HelixKalman ( )
virtual

Definition at line 20 of file HelixKalman.cpp.

View newest version in sPHENIX GitHub at line 20 of file HelixKalman.cpp

Member Function Documentation

void HelixKalman::addHit ( SimpleHit3D hit,
HelixKalmanState state 
)

Definition at line 28 of file HelixKalman.cpp.

View newest version in sPHENIX GitHub at line 28 of file HelixKalman.cpp

References HelixKalmanState::C, calculateMeasurements(), calculateMSCovariance(), calculateProjections(), HelixKalmanState::chi2, HelixKalmanState::d, HelixKalmanState::dzdl, G, SimpleHit3D::get_layer(), H, HelixKalmanState::kappa, G4TTL::layer, Acts::UnitConstants::m, HelixKalmanState::nu, HelixKalmanState::phi, subtractProjections(), updateIntersection(), and HelixKalmanState::z0.

Referenced by sPHENIXTracker::finalize(), sPHENIXTrackerTpc::finalize(), sPHENIXSeedFinder::finalize(), sPHENIXTrackerTpc::findTracksByCombinatorialKalman(), sPHENIXTrackerTpc::findTracksBySegments(), sPHENIXTracker::findTracksBySegments(), and sPHENIXSeedFinder::findTracksBySegments().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void HelixKalman::calculate_dAdAp ( HelixKalmanState state,
Eigen::Matrix< float, 5, 3 > &  dAdAp,
float &  phi_p,
float &  cosphi_p,
float &  sinphi_p 
)
protected

Definition at line 88 of file HelixKalman.cpp.

View newest version in sPHENIX GitHub at line 88 of file HelixKalman.cpp

References cos(), HelixKalmanState::d, d, dx, dy, dz, dz2, HelixKalmanState::dzdl, dzdl, k, k2, HelixKalmanState::kappa, HelixKalmanState::nu, HelixKalmanState::phi, phi, Acts::UnitConstants::s, sign(), temp1, temp2, tmp1, tmp2, tmp3, v, HelixKalmanState::x_int, and HelixKalmanState::y_int.

Referenced by calculateMSCovariance().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void HelixKalman::calculate_dApdp ( HelixKalmanState state,
Eigen::Matrix< float, 3, 3 > &  dApdp,
Eigen::Vector3f &  p,
float  phi,
float  cosphi,
float  sinphi 
)
protected

Definition at line 314 of file HelixKalman.cpp.

View newest version in sPHENIX GitHub at line 314 of file HelixKalman.cpp

References Bfield, HelixKalmanState::dzdl, dzdl, k, HelixKalmanState::kappa, HelixKalmanState::nu, and p.

Referenced by calculateMSCovariance().

+ Here is the caller graph for this function:

void HelixKalman::calculate_dbdt ( Eigen::Matrix< float, 3, 2 > &  dbdt_out)
protected

Definition at line 396 of file HelixKalman.cpp.

View newest version in sPHENIX GitHub at line 396 of file HelixKalman.cpp

Referenced by calculateMSCovariance().

+ Here is the caller graph for this function:

void HelixKalman::calculate_dpdb ( Eigen::Vector3f &  p,
Eigen::Matrix< float, 3, 3 > &  dpdb 
)
protected

Definition at line 364 of file HelixKalman.cpp.

View newest version in sPHENIX GitHub at line 364 of file HelixKalman.cpp

References cos().

Referenced by calculateMSCovariance().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual void HelixKalman::calculateMeasurements ( SimpleHit3D hit,
Eigen::Matrix< float, 2, 1 > &  m,
Eigen::Matrix< float, 2, 2 > &  G 
)
protectedpure virtual

Implemented in CylinderKalman.

Referenced by addHit().

+ Here is the caller graph for this function:

void HelixKalman::calculateMSCovariance ( HelixKalmanState state,
Eigen::Matrix< float, 5, 5 > &  Q 
)
protected

Definition at line 436 of file HelixKalman.cpp.

View newest version in sPHENIX GitHub at line 436 of file HelixKalman.cpp

References calculate_dAdAp(), calculate_dApdp(), calculate_dbdt(), calculate_dpdb(), calculateScatteringVariance(), and p.

Referenced by addHit().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual void HelixKalman::calculateProjections ( SimpleHit3D hit,
HelixKalmanState state,
Eigen::Matrix< float, 2, 5 > &  H,
Eigen::Matrix< float, 2, 1 > &  ha 
)
protectedpure virtual

Implemented in CylinderKalman.

Referenced by addHit().

+ Here is the caller graph for this function:

virtual bool HelixKalman::calculateScatteringVariance ( HelixKalmanState state,
float &  var 
)
protectedpure virtual

Implemented in CylinderKalman.

Referenced by calculateMSCovariance().

+ Here is the caller graph for this function:

void HelixKalman::subtractProjections ( Eigen::Matrix< float, 2, 1 > &  m,
Eigen::Matrix< float, 2, 1 > &  ha,
Eigen::Matrix< float, 2, 1 > &  diff 
)
protectedvirtual

Reimplemented in CylinderKalman.

Definition at line 22 of file HelixKalman.cpp.

View newest version in sPHENIX GitHub at line 22 of file HelixKalman.cpp

Referenced by addHit().

+ Here is the caller graph for this function:

virtual void HelixKalman::updateIntersection ( HelixKalmanState state,
int  layer 
)
protectedpure virtual

Implemented in CylinderKalman.

Referenced by addHit().

+ Here is the caller graph for this function:

Member Data Documentation

float HelixKalman::Bfield
protected

Definition at line 31 of file HelixKalman.h.

View newest version in sPHENIX GitHub at line 31 of file HelixKalman.h

Referenced by calculate_dApdp().

float HelixKalman::Bfield_inv
protected

Definition at line 31 of file HelixKalman.h.

View newest version in sPHENIX GitHub at line 31 of file HelixKalman.h

Referenced by CylinderKalman::calculateScatteringVariance().


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