ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
HelixKalman.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file HelixKalman.h
1
#ifndef KALMAN_HELIXKALMAN_H
2
#define KALMAN_HELIXKALMAN_H
3
4
#include <Eigen/Core>
5
6
class
HelixKalmanState
;
7
class
SimpleHit3D
;
8
9
10
class
HelixKalman
11
{
12
public
:
13
HelixKalman
(
float
B
);
14
virtual
~HelixKalman
();
15
16
void
addHit
(
SimpleHit3D
& hit,
HelixKalmanState
& state);
17
18
protected
:
19
virtual
void
calculateProjections
(
SimpleHit3D
& hit,
HelixKalmanState
& state, Eigen::Matrix<float,2,5>&
H
, Eigen::Matrix<float,2,1>&
ha
) = 0;
20
virtual
void
calculateMeasurements
(
SimpleHit3D
& hit, Eigen::Matrix<float,2,1>&
m
, Eigen::Matrix<float,2,2>&
G
) = 0;
21
virtual
bool
calculateScatteringVariance
(
HelixKalmanState
& state,
float
& var) = 0;
22
virtual
void
updateIntersection
(
HelixKalmanState
& state,
int
layer
) = 0;
23
virtual
void
subtractProjections
(Eigen::Matrix<float,2,1>& m, Eigen::Matrix<float,2,1>& ha, Eigen::Matrix<float,2,1>& diff);
24
25
void
calculateMSCovariance
(
HelixKalmanState
& state, Eigen::Matrix<float,5,5>&
Q
);
26
void
calculate_dbdt
(Eigen::Matrix<float,3,2>& dbdt_out);
27
void
calculate_dpdb
(Eigen::Vector3f&
p
, Eigen::Matrix<float,3,3>& dpdb);
28
void
calculate_dApdp
(
HelixKalmanState
& state, Eigen::Matrix<float,3,3>& dApdp, Eigen::Vector3f& p,
float
phi
,
float
cosphi,
float
sinphi);
29
void
calculate_dAdAp
(
HelixKalmanState
& state, Eigen::Matrix<float,5,3>& dAdAp,
float
& phi_p,
float
& cosphi_p,
float
& sinphi_p);
30
31
float
Bfield
,
Bfield_inv
;
32
};
33
34
35
#endif
coresoftware
blob
master
offline
packages
HelixHough
helix_hough
Kalman
HelixKalman.h
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:24:35
using
1.8.2 with
ECCE GitHub integration