BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
CbmKFMath.h
Go to the documentation of this file.
1/** Collection of mathematical routines for the CbmKF Kalman Filter
2 *
3 * @author S.Gorbunov
4 * @version 0.0
5 * @since 02.12.05
6 *
7 * Description will be here
8 *
9 */
10
11#ifndef CBMKFMATH_H
12#define CBMKFMATH_H 1
13
14#include "TObject.h"
15
16class FairField;
17class FairTrackParam;
18
19class CbmKFMath : public TObject
20{
21 public:
24
26 Double_t z2,
27 Double_t mz,
28 Double_t mthick,
29 Double_t* mz_out,
30 Double_t* mthick_out);
31
33 Double_t ZCone,
34 Double_t rCone,
35 Double_t RCone,
36 const Double_t x[],
37 Double_t* z1,
38 Double_t* z2);
39
40 static Int_t indexS(Int_t i, Int_t j) { return (j <= i) ? i * (i + 1) / 2 + j : j * (j + 1) / 2 + i; }
41
42 static void multQSQt(Int_t N, const Double_t Q[], const Double_t S[], Double_t S_out[]);
43 static void multQtSQ(Int_t N, const Double_t Q[], const Double_t S[], Double_t S_out[]);
44 static void multSSQ(const Double_t* A, const Double_t* B, Double_t* C, Int_t n);
45 static void four_dim_inv(Double_t a[4][4]);
46 static void five_dim_inv(Double_t a[5][5]);
47 static Bool_t invS(Double_t A[], Int_t N);
49 static Double_t AnalyticQP(const Double_t T[], // track parameters (x,y,tx,ty,Q/p,z)
50 const Double_t V[], // vertex parameters (x,y,z)
51 FairField* MagneticField // magnetic field
52 );
53
55 Double_t F,
56 Double_t Fe,
57 Double_t tx,
58 Double_t ty,
59 Double_t qp,
60 Double_t mass,
61 Bool_t is_electron,
62 Bool_t downstream_direction,
63 Double_t* Q5,
64 Double_t* Q8,
65 Double_t* Q9,
66 Double_t* Ecor);
67
68 static void CopyTrackParam2TC(FairTrackParam* par, Double_t T[], Double_t C[]);
69 static void CopyTC2TrackParam(FairTrackParam* par, Double_t T[], Double_t C[]);
70
72};
73
74#endif /* ! CBMKFMATH_H */
int i
Definition P4_F32vec4.h:22
bool Bool_t
int Int_t
double Double_t
#define ClassDef(name, id)
static void multQtSQ(Int_t N, const Double_t Q[], const Double_t S[], Double_t S_out[])
static Bool_t intersectCone(Double_t zCone, Double_t ZCone, Double_t rCone, Double_t RCone, const Double_t x[], Double_t *z1, Double_t *z2)
static Bool_t invS(Double_t A[], Int_t N)
static void four_dim_inv(Double_t a[4][4])
static void multQSQt(Int_t N, const Double_t Q[], const Double_t S[], Double_t S_out[])
static void CopyTC2TrackParam(FairTrackParam *par, Double_t T[], Double_t C[])
static Int_t GetNoise(Double_t Lrl, Double_t F, Double_t Fe, Double_t tx, Double_t ty, Double_t qp, Double_t mass, Bool_t is_electron, Bool_t downstream_direction, Double_t *Q5, Double_t *Q8, Double_t *Q9, Double_t *Ecor)
static Double_t getDeviation(Double_t x, Double_t y, Double_t C[], Double_t vx, Double_t vy, Double_t Cv[]=0)
static Bool_t GetThickness(Double_t z1, Double_t z2, Double_t mz, Double_t mthick, Double_t *mz_out, Double_t *mthick_out)
static Double_t AnalyticQP(const Double_t T[], const Double_t V[], FairField *MagneticField)
static void CopyTrackParam2TC(FairTrackParam *par, Double_t T[], Double_t C[])
static void five_dim_inv(Double_t a[5][5])
static void multSSQ(const Double_t *A, const Double_t *B, Double_t *C, Int_t n)
static Int_t indexS(Int_t i, Int_t j)
Definition CbmKFMath.h:40
*brief user defined string literal for JSON values *sa std::size_t n
Definition json.hpp:20362