Analysis Software
Documentation for sPHENIX simulation 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  AnalyticFieldModel(float _ifc_radius, float _ofc_radius, float _z_max, float scalefactor = 1);
15  explicit AnalyticFieldModel(const AnalyticFieldModel &) = delete;
17 
18  TVector3 E(const TVector3 &pos); // field as a function of position
19  double Rho(const TVector3 &pos); // charge density as a function of position
20  TVector3 Eint(float zfinal, const TVector3 &start); // field integral from start point to position zfinal.
21 
22  private:
23  TFormula *vTestFunction1{nullptr};
24  TFormula *rhoTestFunction1{nullptr};
25  TFormula *erTestFunction1{nullptr};
26  TFormula *ePhiTestFunction1{nullptr};
27  TFormula *ezTestFunction1{nullptr};
28  TFormula *intErDzTestFunction1{nullptr};
29 
30  TFormula *intEPhiDzTestFunction1{nullptr};
31 
32  TFormula *intEzDzTestFunction1{nullptr};
33 };
34 
35 #endif