ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CylinderKalman Class Reference

#include <coresoftware/blob/master/offline/packages/HelixHough/helix_hough/Kalman/CylinderKalman.h>

+ Inheritance diagram for CylinderKalman:
+ Collaboration diagram for CylinderKalman:

Public Member Functions

 CylinderKalman (std::vector< float > &detector_radii, std::vector< float > &detector_material, float B)
 
virtual ~CylinderKalman ()
 
- Public Member Functions inherited from HelixKalman
 HelixKalman (float B)
 
virtual ~HelixKalman ()
 
void addHit (SimpleHit3D &hit, HelixKalmanState &state)
 

Protected Member Functions

void calculateProjections (SimpleHit3D &hit, HelixKalmanState &state, Eigen::Matrix< float, 2, 5 > &H, Eigen::Matrix< float, 2, 1 > &ha)
 
void calculateMeasurements (SimpleHit3D &hit, Eigen::Matrix< float, 2, 1 > &m, Eigen::Matrix< float, 2, 2 > &G)
 
bool calculateScatteringVariance (HelixKalmanState &state, float &var)
 
void updateIntersection (HelixKalmanState &state, int layer)
 
void subtractProjections (Eigen::Matrix< float, 2, 1 > &m, Eigen::Matrix< float, 2, 1 > &ha, Eigen::Matrix< float, 2, 1 > &diff)
 
- Protected Member Functions inherited from HelixKalman
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)
 

Private Member Functions

void calculate_dxda (SimpleHit3D &hit, HelixKalmanState &state, Eigen::Matrix< float, 3, 5 > &dxda, float &x, float &y, float &z)
 

Private Attributes

std::vector< float > det_rad
 
std::vector< float > det_scatter_variance
 
unsigned int nlayers
 
float signk_store
 

Additional Inherited Members

- Protected Attributes inherited from HelixKalman
float Bfield
 
float Bfield_inv
 

Detailed Description

Definition at line 14 of file CylinderKalman.h.

View newest version in sPHENIX GitHub at line 14 of file CylinderKalman.h

Constructor & Destructor Documentation

CylinderKalman::CylinderKalman ( std::vector< float > &  detector_radii,
std::vector< float > &  detector_material,
float  B 
)

Definition at line 19 of file CylinderKalman.cpp.

View newest version in sPHENIX GitHub at line 19 of file CylinderKalman.cpp

References det_rad, and det_scatter_variance.

CylinderKalman::~CylinderKalman ( )
virtual

Definition at line 29 of file CylinderKalman.cpp.

View newest version in sPHENIX GitHub at line 29 of file CylinderKalman.cpp

Member Function Documentation

void CylinderKalman::calculate_dxda ( SimpleHit3D hit,
HelixKalmanState state,
Eigen::Matrix< float, 3, 5 > &  dxda,
float &  x,
float &  y,
float &  z 
)
private

Definition at line 31 of file CylinderKalman.cpp.

View newest version in sPHENIX GitHub at line 31 of file CylinderKalman.cpp

References a, HelixKalmanState::d, D(), d, det_rad, dz, dz2, HelixKalmanState::dzdl, dzdl, SimpleHit3D::get_layer(), SimpleHit3D::get_x(), SimpleHit3D::get_y(), Acts::UnitConstants::h, k, k2, HelixKalmanState::kappa, HelixKalmanState::nu, HelixKalmanState::phi, phi, sign(), signk_store, temp1, temp2, tmp1, ux, uy, v, x, x1, x2, y1, y2, HelixKalmanState::z0, and G4InuclParticleNames::z0.

Referenced by calculateProjections().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void CylinderKalman::calculateMeasurements ( SimpleHit3D hit,
Eigen::Matrix< float, 2, 1 > &  m,
Eigen::Matrix< float, 2, 2 > &  G 
)
protectedvirtual

Implements HelixKalman.

Definition at line 427 of file CylinderKalman.cpp.

View newest version in sPHENIX GitHub at line 427 of file CylinderKalman.cpp

References SimpleHit3D::get_size(), SimpleHit3D::get_x(), SimpleHit3D::get_y(), SimpleHit3D::get_z(), m, and M_PI.

+ Here is the call graph for this function:

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

Implements HelixKalman.

Definition at line 395 of file CylinderKalman.cpp.

View newest version in sPHENIX GitHub at line 395 of file CylinderKalman.cpp

References calculate_dxda(), det_rad, SimpleHit3D::get_layer(), SimpleHit3D::get_x(), SimpleHit3D::get_y(), ha, M_PI, x, y, and z.

+ Here is the call graph for this function:

bool CylinderKalman::calculateScatteringVariance ( HelixKalmanState state,
float &  var 
)
protectedvirtual

Implements HelixKalman.

Definition at line 521 of file CylinderKalman.cpp.

View newest version in sPHENIX GitHub at line 521 of file CylinderKalman.cpp

References HelixKalman::Bfield_inv, det_scatter_variance, HelixKalmanState::dzdl, k, HelixKalmanState::kappa, nlayers, and HelixKalmanState::position.

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

Reimplemented from HelixKalman.

Definition at line 383 of file CylinderKalman.cpp.

View newest version in sPHENIX GitHub at line 383 of file CylinderKalman.cpp

References ha, and M_PI.

void CylinderKalman::updateIntersection ( HelixKalmanState state,
int  layer 
)
protectedvirtual

Implements HelixKalman.

Definition at line 455 of file CylinderKalman.cpp.

View newest version in sPHENIX GitHub at line 455 of file CylinderKalman.cpp

References a, HelixKalmanState::d, D(), d, det_rad, dz, HelixKalmanState::dzdl, dzdl, Acts::UnitConstants::h, k, HelixKalmanState::kappa, G4TTL::layer, HelixKalmanState::phi, phi, HelixKalmanState::position, sign(), signk_store, temp1, temp2, tmp1, ux, uy, v, HelixKalmanState::x_int, HelixKalmanState::y_int, HelixKalmanState::z0, G4InuclParticleNames::z0, and HelixKalmanState::z_int.

+ Here is the call graph for this function:

Member Data Documentation

std::vector<float> CylinderKalman::det_rad
private

Definition at line 29 of file CylinderKalman.h.

View newest version in sPHENIX GitHub at line 29 of file CylinderKalman.h

Referenced by calculate_dxda(), calculateProjections(), CylinderKalman(), and updateIntersection().

std::vector<float> CylinderKalman::det_scatter_variance
private

Definition at line 30 of file CylinderKalman.h.

View newest version in sPHENIX GitHub at line 30 of file CylinderKalman.h

Referenced by calculateScatteringVariance(), and CylinderKalman().

unsigned int CylinderKalman::nlayers
private

Definition at line 31 of file CylinderKalman.h.

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

Referenced by calculateScatteringVariance().

float CylinderKalman::signk_store
private

Definition at line 32 of file CylinderKalman.h.

View newest version in sPHENIX GitHub at line 32 of file CylinderKalman.h

Referenced by calculate_dxda(), and updateIntersection().


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