EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AnalyticFieldModel.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file AnalyticFieldModel.h
1 #ifndef ANALYTICFIELDMODEL_H
2 #define ANALYTICFIELDMODEL_H
3 
4 #include <TVector3.h>
5 
6 #include <cmath>
7 
8 class TFormula;
9 
11 {
12  public:
13  double ifc_radius = NAN;
14  double ofc_radius = NAN;
15  double tpc_halfz = NAN;
16 
17  AnalyticFieldModel(float _ifc_radius, float _ofc_radius, float _z_max, float scalefactor = 1);
18 
19  TVector3 E(TVector3 pos); //field as a function of position
20  double Rho(TVector3 pos); //charge density as a function of position
21  TVector3 Eint(float zfinal, TVector3 start); //field integral from start point to position zfinal.
22 
23  private:
24  TFormula *vTestFunction1 = nullptr;
25  TFormula *rhoTestFunction1 = nullptr;
26  TFormula *erTestFunction1 = nullptr;
27  TFormula *ePhiTestFunction1 = nullptr;
28  TFormula *ezTestFunction1 = nullptr;
29  TFormula *intErDzTestFunction1 = nullptr;
30 
31  TFormula *intEPhiDzTestFunction1 = nullptr;
32 
33  TFormula *intEzDzTestFunction1 = nullptr;
34 };
35 
36 #endif