BmnRoot
Loading...
Searching...
No Matches
CbmKFMath.h
Go to the documentation of this file.
1
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
25 static Bool_t GetThickness( Double_t z1, Double_t z2, Double_t mz, Double_t mthick,
26 Double_t *mz_out, Double_t *mthick_out );
27
28 static Bool_t intersectCone( Double_t zCone, Double_t ZCone, Double_t rCone, Double_t RCone ,
29 const Double_t x[],
30 Double_t *z1, Double_t *z2
31 );
32
33 static Int_t indexS( Int_t i, Int_t j )
34 {
35 return ( j<=i ) ? i*(i+1)/2+j :j*(j+1)/2+i;
36 }
37
38 static void multQSQt( Int_t N, const Double_t Q[], const Double_t S[], Double_t S_out[] );
39 static void multQtSQ( Int_t N, const Double_t Q[], const Double_t S[], Double_t S_out[] );
40 static void multSSQ( const Double_t *A, const Double_t *B, Double_t *C, Int_t n );
41 static void four_dim_inv( Double_t a[4][4] );
42 static void five_dim_inv(Double_t a[5][5]);
43 static Bool_t invS( Double_t A[], Int_t N );
44 static Double_t getDeviation( Double_t x, Double_t y, Double_t C[], Double_t vx, Double_t vy, Double_t Cv[]=0 );
45 static Double_t AnalyticQP(
46 const Double_t T[], // track parameters (x,y,tx,ty,Q/p,z)
47 const Double_t V[], // vertex parameters (x,y,z)
48 FairField *MagneticField // magnetic field
49 );
50
51 static Int_t GetNoise( Double_t Lrl, Double_t F, Double_t Fe,
52 Double_t tx, Double_t ty, Double_t qp,
53 Double_t mass, Bool_t is_electron,
54 Bool_t downstream_direction,
55 Double_t *Q5, Double_t *Q8, Double_t *Q9, Double_t *Ecor );
56
57 static void CopyTrackParam2TC( FairTrackParam* par, Double_t T[], Double_t C[] );
58 static void CopyTC2TrackParam( FairTrackParam* par, Double_t T[], Double_t C[] );
59
60 ClassDef(CbmKFMath, 1)
61};
62
63#endif /* ! CBMKFMATH_H */
int i
Definition P4_F32vec4.h:22
static void multQtSQ(Int_t N, const Double_t Q[], const Double_t S[], Double_t S_out[])
Definition CbmKFMath.cxx:62
static void CopyTC2TrackParam(FairTrackParam *par, Double_t T[], Double_t C[])
static Double_t getDeviation(Double_t x, Double_t y, Double_t C[], Double_t vx, Double_t vy, Double_t Cv[]=0)
static void CopyTrackParam2TC(FairTrackParam *par, Double_t T[], Double_t C[])
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 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)
Definition CbmKFMath.cxx:13
static Double_t AnalyticQP(const Double_t T[], const Double_t V[], FairField *MagneticField)
static void multSSQ(const Double_t *A, const Double_t *B, Double_t *C, Int_t n)
Definition CbmKFMath.cxx:82
static void five_dim_inv(Double_t a[5][5])
static Bool_t invS(Double_t A[], Int_t N)
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 void four_dim_inv(Double_t a[4][4])
Definition CbmKFMath.cxx:95
static void multQSQt(Int_t N, const Double_t Q[], const Double_t S[], Double_t S_out[])
Definition CbmKFMath.cxx:38
static Int_t indexS(Int_t i, Int_t j)
Definition CbmKFMath.h:33